.conf⽂件可以在查看,下⾯是我整理的其中的配置项(版本是3.2)的解析,尽量全⾯⼀些吧。
4、
注:REDIS CLUSTER 之后的配置暂时没有列出来。实在是太多了。
1、include
解释:引⼊其它配置⽂件。⽐如说当你有多个,⽽有⼀些配置项是它们公⽤的,那么你可以将这些公⽤的配置项写进⼀个配置⽂件f⾥,然后这些server再include这个配置⽂件,这些server⾃⼰的配置项则分别写在⾃⼰的配置⽂件⾥。
⽰例: /path/f
2、loadmodule
解释:此配置项尚未了解。注释是这样的:启动时加载模块,如果server⽆法加载模块,则此配置会被忽略。可以使⽤多个loadmodule。
⽰例:loadmodule /path/to/my_module.so
3、bind
解释:默认情况下,redis 在 server 上所有有效的⽹络接⼝上监听客户端连接。如果只想让它在⼀个或多个⽹络接⼝上监听,那你就绑定⼀个IP或者多个IP。多个ip空格分隔即可。
⽰例: bind 192.168.1.100 10.0.0.1
bind 127.0.0.1 ::1
4、protected-mode
解释:当开启后,禁⽌公⽹访问redis。它启⽤的条件有两个,第⼀是没有使⽤bind,第⼆是没有设置访问密码。
⽰例:protected-mode yes
5、port
解释:指定该redis server监听的端⼝号。默认是6379,如果指定0则不监听。
⽰例:port 6379
6、tcp-backlog
解释:此参数确定了TCP连接中已完成队列(完成三次握⼿之后)的长度, 当然此值必须不⼤于Linux系统定义
的/proc/sys/net/core/somaxconn值,默认是511,⽽Linux的默认参数值是128。当系统并发量⼤并且客户端速度缓慢的时候,可以将这⼆个参数⼀起参考设定。
⽰例:tcp-backlog 511
7、unixsocket
解释:指定 unix socket 的路径。
大文件发送⽰例:unixsocket /tmp/redis.sock
8、unixsocketperm
解释:指定 unix socket file 的权限。
⽰例:unixsocketperm  755
9、timeout
解释:当客户端闲置多少秒后关闭连接,如果设置为0表⽰关闭该功能。
⽰例:timeout  30
10、tcp-keepalive
解释:单位是秒,表⽰将周期性的使⽤SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器⼀直阻塞,官⽅给出的建议值是
300S
⽰例:tcp-keepalive 300
11、daemonize
解释:是否以守护模式启动,默认为no,配置为yes时以守护模式启动,这时redis instance会将进程号pid写⼊默认⽂
件/var/run/redis.pid。
⽰例:daemonize yes
12、supervised
解释:可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的。
⽰例:supervised no
13、pidfile
解释:配置pid⽂件路径。当redis以守护模式启动时,如果没有配置pidfile,pidfile默认值是/var/run/redis.pid 。
⽰例:pidfile /var/run/redis_6379.pid
14、loglevel
解释:⽇志级别。可选项有:debug(记录⼤量⽇志信息,适⽤于开发、测试阶段);  verbose(较多⽇志信息);  notice(适量⽇志信息,使⽤于⽣产环境);warning(仅有部分重要、关键信息才
会被记录)。
⽰例:loglevel notice
15、logfile
解释:⽇志⽂件的位置,当指定为空字符串时,为标准输出,如果redis已守护进程模式运⾏,那么⽇志将会输出到  /dev/null 。
⽰例:logfile ""
16、syslog-enabled
解释:是否把⽇志记录到系统⽇志。(何意?)
⽰例:syslog-enabled no
17、syslog-ident
解释:设置系统⽇志的id
⽰例:syslog-ident redis
18、syslog-facility
解释:指定syslog设备(facility),必须是user或则local0到local7。
⽰例:syslog-facility local0
19、databases
解释:设置数据库的数⽬。默认的数据库是DB 0 ,可以在每个连接上使⽤select  <dbid> 命令选择⼀个不同的数据库,dbid是⼀个介于0到databases - 1 之间的数值。
⽰例:databases 16
20、save
解释:保存数据到磁盘。格式是:save <seconds> <changes> ,含义是在 seconds 秒之后⾄少有 changes个keys 发⽣改变则保存⼀次。
⽰例:save 900 1
save 300 10
save 60 10000
21、stop-writes-on-bgsave-error
解释:默认情况下,如果 redis 最后⼀次的后台保存失败,redis 将停⽌接受写操作,这样以⼀种强硬的⽅式让⽤户知道数据不能正确的持久化到磁盘, 否则就会没⼈注意到灾难的发⽣。 如果后台保存进程重新启动⼯作了,redis 也将⾃动的允许写操作。然⽽你要是安装了靠谱的监控,你可能不希望 redis 这样做,那你就改成 no 好了。
⽰例:stop-writes-on-bgsave-error no
22、rdbcompression
解释:是否在dump  .rdb数据库的时候压缩字符串,默认设置为yes。如果你想节约⼀些cpu资源的话,可以把它设置为no,这样的话数据集就可能会⽐较⼤。
⽰例:rdbcompression yes
23、rdbchecksum
解释:是否CRC64校验rdb⽂件,会有⼀定的性能损失(⼤概10%)。
⽰例:rdbchecksum yes
24、dbfilename
解释:rdb⽂件的名字。
⽰例:dbfilename dump.rdb
25、dir
解释:数据库存放⽬录。必须是⼀个⽬录,aof⽂件也会保存到该⽬录下。
⽰例:dir ./
26、slaveof
解释:设置本机为slave服务。格式:slaveof <masterip> <masterport>。设置master服务的IP地址及端⼝,在Redis启动时,它会⾃动从master进⾏数据同步。
⽰例:slaveof  192.168.0.1  6379
27、masterauth
解释:当master服务设置了密码保护时,slav服务连接master的密码。
⽰例:masterauth  123456
28、slave-serve-stale-data
解释:当⼀个slave与master失去联系时,或者复制正在进⾏的时候,slave应对请求的⾏为:1) 如果为 yes(默认值) ,slave 仍然会应答客户端请求,但返回的数据可能是过时,或者数据可能是空的在第⼀次同步的时候;2) 如果为 no ,在你执⾏除了 info 和 salveof 之外的其他命令时,slave 都将返回⼀个 "SYNC with master in progress" 的错误。
⽰例:slave-serve-stale-data yes
29、slave-read-only
解释:设置slave是否是只读的。从2.6版起,slave默认是只读的。
⽰例:slave-read-only  yes
30、repl-diskless-sync
解释:主从数据复制是否使⽤⽆硬盘复制功能。
⽰例:repl-diskless-sync no
31、repl-ping-slave-period
解释:指定slave定期ping master的周期,默认10秒钟。
⽰例:repl-ping-slave-period 10
32、repl-timeout
解释:设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒 。
⽰例:repl-timeout 60
33、repl-disable-tcp-nodelay 解释:指定向slave同步数据时,是否禁⽤socket的NO_DELAY选 项。若配置为“yes”,则禁⽤
NO_DELAY,则TCP协议栈会合并⼩包统⼀发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到 slave的时间。若配置为“no”,表明启⽤NO_DELAY,则TCP协议栈不会延迟⼩包的
发送时机,这样数据同步的延时会减少,但需要更⼤的带宽。 通常情况下,应该配置为no以降低同步延时,但在主从节点间⽹络负载已经很⾼的情况下,可以配置为yes。
⽰例:repl-disable-tcp-nodelay no
34、repl-backlog-size
解释:设置主从复制backlog容量⼤⼩。这个 backlog 是⼀个⽤来在 slaves 被断开连接时存放 slave 数据的 buffer,所以当⼀个 slave 想要重新连接,通常不希望全部重新同步,只是部分同步就够了,仅仅传递 slave 在断开连接时丢失的这部分数据。这个值越⼤,salve 可以断开连接的时间就越长。
⽰例:repl-backlog-size 1mb
35、repl-backlog-ttl
解释:配置当master和slave失去联系多少秒之后,清空backlog释放空间。当配置成0时,表⽰永远不清空。
⽰例:repl-backlog-ttl 3600
36、slave-priority
解释:当 master 不能正常⼯作的时候,Redis Sentinel 会从 slaves 中选出⼀个新的 master,这个值越⼩,就越会被优先选中,但是如果是 0 , 那是意味着这个 slave 不可能被选中。 默认优先级为 100。
⽰例:slave-priority 100
37、requirepass
解释:设置redis连接密码。
⽰例:requirepass foobared
38、rename-command
解释:将命令重命名。为了安全考虑,可以将某些重要的、危险的命令重命名。当你把某个命令重命名成空字符串的时候就等于取消了这个命令。
⽰例:rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
rename-command CONFIG ""