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 秒内至少有 10 key 被改变时,触发保存信息到磁盘事件。默认有 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 同步数据时,是否禁用 socket NO_DELAY 项。若配置为 “yes” ,则禁用 NO_DELAY ,则 TCP 协议栈会合并小包统一发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到 slave 的时间。若配置为 “no” ,表明启用 NO_DELAY ,则 TCP 协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。 通常情况下,应该配置为 no 以降低同步延时,但在主从节点间网络负载已经很高的情况下,可以配置为 yes
slave-priority 指定 slave 的优先级。在不只 1 slave 存在的部署环境下,当 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 的同步频率 ,有三种选择 always everysec no ,默认是 everysec 表示每秒同步一次。
no-appendfsync-on-rewrite 指定是否在后台 aof 文件 rewrite 期间调用 fsync ,默认为 no ,表示要调用 fsync (无论后台是否有子进程在刷盘)。 Redis 在后台写 RDB 文件或重写 afo 文件期间会存在大量磁盘 IO ,此时,在某些 linux 系统中,调用 fsync 可能会阻塞。
auto-aof-rewrite-percentage 指定 Redis 重写 aof 文件的条件,默认为 100 ,表示与上次 rewrite aof 文件大小相比,当前 aof 文件增长量超过上次 afo 文件大小的 100% 时,就会触发 background rewrite 。若配置为 0 ,则会禁用自动 rewrite
auto-aof-rewrite-min-size 指定触发 rewrite aof 文件大小。若 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 ,如需转载请自行联系原作者