(1) 主目录下redis.conf

daemonize no ---> yes                           //后台运行

port 6379                                                 //端口

appendonly no ---> yes                          //日志开关

logfile stdout    ---> ./logs/redis.log       //日志文件

dbfilename dump.rdb                              //持久化数据文件


(2) Redis 3.2新特性:解决访问安全

Bind                                       指定IP进行监听bind 192.168.47.xx ip2 ip3 ip4

禁止protected-mode             -protected-mode yes/no

增加requirepass {password}  - requirepass guo

在redis-cli中使用                    - auth {password}进行认证


(3) 运行配置:

获取当前配置:CONFIG GET *

变更运行配置:CONFIG SET loglevel "notice"  (暂时修改,重启失效,长期需要修改配置文件)


(4) Redis数据存储

redis配置文件详解,一键部署_第1张图片

持久化:

1)RDB持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)

2)  AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF文件中的命令全部以Redis协议的格式来保存,新命令会被追加到文件的末尾。Redis还可以在后台对AOF文件进行重写(rewrite),使得AOF文件的体积不会超出保存数据集状态所需的实际大小。

3) Redis还可以同时使用AOF持久化和RDB持久化。在这种情况下,当Redis重启时,它会优先使用AOF文件来还原数据集,因为AOF文件保存的数据集通常比RDB文件所保存的数据集更完整。

4) 你甚至可以关闭持久化功能,让数据只在服务器运行时存在。


持久化策略:

日志文件 appendonly yes/no

save 900 1

save 300 10

save 60 10000

分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改,即将数据写入硬盘。


压缩:

dbcompression yes

指定存储至本地数据库是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变得巨大。


同步:

appendfsync everysec

 - no:        表示操作系统进行数据缓存同步到磁盘,Linux约20秒(快)

 - always:表示每次更新操作后调用fsync()将数据写到磁盘(慢,安全)

 - everysec: 表示每秒同步一次(折中,默认值)


(5) 数据结构:

redis配置文件详解,一键部署_第2张图片

常规操作:

KEYS * 查看KEY支持通配符

DEL 删除给定的一个或多个key

EXISTS 检查是否存在

EXPIRE 设定生存时间

TTL 以秒为单位返回过期时间

DUMP RESTORE 序列化与反序列化

PEXIRE PTTL PERSIST 以毫秒为单位

RENAME 变更KEY名

SORT 键值排序,有非数字时报错

TYPE 返回键所存键值的类型






-------------------------------------------------------------------------------------------------------

#!/bin/bash
mkdir -p /data/rpm
cd /data/rpm
[ -f /data/rpm/redis-3.2.0.tar.gz ] || wget  
tar -xf redis-3.2.0.tar.gz
mv redis-3.2.0 /data/server/redis
cd /data/server/redis
make
cp /data/scripts/redis/files/redis /etc/init.d
rm -rf /data/server/redis/redis.conf
cp /data/scripts/redis/files/redis.conf /data/server/redis/redis.conf
chmod +x /etc/init.d/redis
ln -s /data/server/redis/src/redis-cli /usr/bin/redis-cli
chkconfig redis on
service redis start
service redis status