Redis配置文件参数说明:



本篇内容纯属我整合了网上其他多篇文章中对配置文件字段的说明,方便自己查询也可以方便其他人。说明方面有些我进行了修改,有些就直接粘贴了。


如果有人看到里面的文字完全是作者执笔,还请谅解。


参数 说明
daemonize 如果为yes,则启动服务的时候为后台运行,如果是no,则相反
pidfile 指定存储redis进程号的文件路径
port 指定当前redis服务的端口号,默认问6379
tcp-backlog 确定了TCP连接中已完成队列(完成三次握手之后)的长度,此值不应大于linux系统定义的/proc/sys/net/core/somaxconn值。默认是511,而Linux的默认参数是128。当系统并发量大且客户端速度缓慢的时候,可以将这两个参数一起参考设定。
timeout 客户端和redis服务器连接超时时间,默认是0,永不超时。
tcp-keepalive 如果值是非0,单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一致阻塞,官方建议是60s
loglevel

日志级别,总共有4个级别:

  • Debug:记录更多信息,用于开发和测试

  • Varbose:有用的信息,比debug记录的少

  • Notice:普通的varbose,常用于生产环境

  • Warning:只有非常重要或者严重的信息会被记录到日志

默认为notice级别
logfile 日志存储路径
databases 可用的数据库数量,默认值为16,默认数据库为0,数据库范围在0---(database-1)之间,这个DB概念类似于实例。
save 保存数据库快照到磁盘,其对应的值有2个,比如save300 10,表示300秒内至少有10key被改变时,触发保存信息到磁盘事件。默认有3个保存策略。
stop-writes-on-bgsave-error 当持久化出现错误之后,是否继续提供写服务。
rdbcompression 持久化到RDB文件时,是否压缩,yes为压缩,no为不压缩
rdbchecksum 读取和写入的时候是否支持CRC64校验,默认是开启的
dbfilename 本地数据库快照文件名称,默认为dump.rdb
dir 本地数据库快照文件(就是上面的dbfilename)和AOF文件存放路径,配置文件的英文直译为工作目录,有点让人混淆。
masterauth 设置访问master服务器的密码,在主从模式下,这里填写主服务器的验证密码。
requirepass 用于设置连接密码,比如在主从复制中,为了安全可以在主服务器上设置该项,然后在从服务器的配置文件中的masterauth填写设置的密码,用于认证。
slaveof 设置主服务器的IP和端口,主从复制结构中,从服务器需要设置该项。
slave-serve-stale-data slave服务器和master服务器失去连接后,或者当数据正在复制传输的时候,如果此参数值设置“yes”slave服务器可以继续接受客户端的请求,否则,会返回给请求的客户端如下信息“SYNC with master in progress”
slave-read-only 是否允许slave服务器节点只提供读服务
repl-disable-tcp-nodelay 指定向slave同步数据时,是否禁用socketNO_DELAY项。若配置为“yes”,则禁用NO_DELAY,则TCP协议栈会合并小包统一发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到 slave的时间。若配置为“no”,表明启用NO_DELAY,则TCP协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。通常情况下,应该配置为no以降低同步延时,但在主从节点间网络负载已经很高的情况下,可以配置为yes
slave-priority 指定slave的优先级。在不只1slave存在的部署环境下,当master宕机时,Redis Sentinel会将priority值最小的slave提升为master。需要注意的是,若该配置项为0,则对应的slave永远不会自动提升为master
appendonly 开启append only 模式之后,redis 会把所接收到的每一次写操作请求都追加到appendonly.aof 文件中,当redis 重新启动时,会从该文件恢复出之前的状态。但是这样会造成appendonly.aof 文件过大,所以redis 还支持了BGREWRITEAOF 指令,对appendonly.aof 进行重新整理。默认是不开启的。
Maxmemory 最大内存使用设置,单位为bytes,达到最大内存后,Redis会先尝试清除已到期或即将到期的key,当使用此方法处理后仍然达到最大每次,那么将无法执行写入操作。
appendfilename Aof更新日志文件名称,默认为appendonly.aof
appendfsync 设置aof的同步频率,有三种选择alwayseverysecno,默认是everysec表示每秒同步一次。
no-appendfsync-on-rewrite 指定是否在后台aof文件rewrite期间调用fsync,默认为no,表示要调用fsync(无论后台是否有子进程在刷盘)。Redis在后台写RDB文件或重写afo文件期间会存在大量磁盘IO,此时,在某些linux系统中,调用fsync可能会阻塞。
auto-aof-rewrite-percentage 指定Redis重写aof文件的条件,默认为100,表示与上次rewriteaof文件大小相比,当前aof文件增长量超过上次afo文件大小的100%时,就会触发background rewrite。若配置为0,则会禁用自动rewrite
auto-aof-rewrite-min-size 指定触发rewriteaof文件大小。若aof文件小于该值,即使当前文件的增量比例达到auto-aof-rewrite-percentage的配置值,也不会触发自动rewrite。即这两个配置项同时满足时,才会触发rewrite
lua-time-limit 一个Lua脚本最长的执行时间,单位为毫秒,如果为0或负数表示无限执行时间,默认为5000
aof-rewrite-incremental-fsync aofrewrite过程中,是否采取增量文件同步策略,默认为“yes” rewrite过程中,32M数据进行一次文件同步,这样可以减少aof大文件写入对磁盘的操作次数

      本文转自linuxjavachen  51CTO博客,原文链接:http://blog.51cto.com/littledevil/1792337,如需转载请自行联系原作者