Redis 单机模式下的配置说明。

总体配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
daemonize 是否开启守护进程 no yes | no 不可以
port 端口号 6379 整数 不可以
loglevel 日志级别 notice debug | verbose | notice | warning 可以
logfile 日志文件名 自定义,建议以端口命名 不可以
databases 可用的数据库数 16 整数 不可以
unixsocket unix 套接字 空(不通过 unix 套接字来监听 指定套接字文件 不可以
unixsocketperm unix 套接字权限 0 Linux 三位数权限 不可以
pidfile Redis 运行的进程 pid 文件 /var/run/redis.pid /var/run/redis-{port}.pid 不可以
lua-time-limit Lua 脚本“超时时间”,单位:毫秒 5000 整数,但此超时不会真正停止脚本运行 可以
tcp-backlog tcp-backlog 511 整数 不可以
watchdog-period 看门狗,用于诊断 Redis 的延迟问题,该参数为检查周期
(此参数需要在运行时才生效)
0 整数 可以
activerehashing 指定是否激活重置哈希 yes yes | no 可以
dir 工作目录(AOF、RDB、日志文件都存放在此目录下) ./ 自定义 可以

最大内存及策略

配置名 含义 默认值 可选值 可否支持 config set 动态配置
maxmemory 最大可用内存,单位:字节 0(没有限制) 整数 可以
maxmemory-policy 内存不够时的淘汰策略 noeviction
- volatile-lru:用 LRU 算法删除过期的键值
- allkeys-lru:用 LRU 算法删除所有键值
- volatile-random:随机删除过期的键值
- allkeys-random:随机删除任何键值
- volatile-ttl:删除最近要到期的键值
- noeviction:不删除键
可以
maxmemory-samples 检查 LRU 采样数 5 整数 可以

AOF 相关配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
appendonly 是否开启 AOF 持久化模式 no yes | no 可以
appendfsync AOF 同步磁盘频率 everysec always | everysec | no 可以
appendfilename AOF 文件名 appendonly.aof appendonly-{port}.aof 不可以
aof-load-truncated 加载 AOF 文件时,是否忽略 AOF 文件不完整的情况,让 Redis 正常启动 yes yes | no 可以
no-appendfsync-on-rewrite 设置为 yes 表示 rewrite 期间对新写操作不 fsync,暂时存在缓冲区中,等 rewrite 完成后在写入 no yes | no 可以
auto-aof-rewrite-min-size 触发 rewrite 的 AOF 文件最小阀值,单位兆 64m 整数+m(m代表兆) 可以
auto-aof-rewrite-percentage 触发 rewrite 的 AOF 文件的增长比例条件 100 整数 可以
aof-rewrite-incremen-tal-fsync AOF 重写过程中,是否采取增量文件同步策略 yes yes | no 可以

RDB 相关配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
save RDB 保存文件 save 900 1
save 300 10
save 60 10000
如果没有该配置,代表不使用自动 RDB 策略 可以
dbfilename RDB 文件名 dump.rdb dump-{port}.rdb 可以
rdbcompression RDB 文件是否压缩 yes yes | no 可以
rdbchecksum RDB 文件是否使用校验和 yes yes | no 可以
stop-write-on-bgsave-error bgsave 执行错误,是否停止 Redis 接受写请求 yes yes | no 可以

慢查询配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
slowlog-log-slower-than 慢查询被记录的阀值,单位:微秒 10000 整数 可以
slowlog-max-len 最多纪录慢查询的条数 128 整数 可以
latency-monitor-threshold Redis 服务内存延迟监控 0(关闭) 整数 可以

数据结构优化配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
hash-max-ziplist-entries hash 数据结构优化参数 512 整数 可以
hash-max-ziplist-value hash 数据结构优化参数 64 整数 可以
list-max-ziplist-entries list 数据结构优化参数 512 整数 可以
list-max-ziplist-value list 数据结构优化参数 64 整数 可以
set-max-intset-entries set 数据结构优化参数 512 整数 可以
zset-max-ziplist-entries zset 数据结构优化参数 128 整数 可以
zset-max-ziplist-value zset 数据结构优化参数 62 整数 可以
hll-sparse-max-bytes HyperLogLog 数据结构优化参数 3000 整数 可以

复制相关配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
slaveof 指定当前从节点复制哪个主节点,参数:主节点 IP 和端口 ip 和端口 不可以,但可以用 slaveof 命令设置
repl-ping-slave-period 主节点定期向从节点发送 ping 命令的周期,用于判定从节点是否存活,单位:秒 10 整数 可以
repl-timeout 主从节点复制超时时间,单位:秒 60 整数 可以
repl-backlog-size 复制积压缓冲区大小 1M 整数 可以
repl-backlog-ttl 主节点在没有从节点的情况下多长时间后释放复制积压缓冲区空间 3600 整数 可以
slave-priority 从节点的优先级 100 整数 可以
min-slaves-to-write 当主节点发现从节点数量小于 min-slaves-to-write 且延迟小于等于 min-slaves-max-lag 时, master 停止写入 0 整数 可以
min-slaves-max-lag 10 整数 可以
slave-serve-stale-data 当从节点与主节点连接中断时,如果设置为 yes,从节点可以继续处理客户端请求,否则除 info 和 slaveof 命令之外,拒绝的所有请求统一回复 SYNC with master in progress yes yes | no 可以
slave-read-only 从节点是否开启只读模式。集群架构下从节点默认读写不可用,需要调用 readonly 命令开启只读模式 yes yes | no 可以
repl-disable-tcp-nodelay 是否开启主从复制 socket 的 NO_DELAY 选项:
- yes:Redis 会合并小的 TCP 包来节省带宽,但这样会增加同步延迟,造成主从数据不一致
- no:主节点会立即发送同步数据,没有延迟
no yes | no 可以
repl-diskless-sync 是否开启无盘复制 no yes | no 可以
repl-diskless-sync-delay 开启无盘复制后,需要延迟多少秒后进行创建 RDB 操作,一般用于同时加入多个从节点时,保证多个从节点可共享 RDB 5 整数 可以

客户端相关配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
maxclients 最大客户端连接数 10000 整数 可以
client-output-buffer-limit 客户端输出缓冲区限制,格式:
最大限制 最小限制 最小限制的持续时间
normal 0 0 0
slave 256mb 64mb 60
pubsub 8mb 2mb 60
整数 可以
timeout 客户端限制多少秒后关闭连接(单位:秒) 0(永不关闭) 整数 可以
tcp-keeplive 检测 TCP 连接活性的周期(单位:秒) 0(不检测) 整数 可以

参考文档:redis 普通客户端请求超过client-output-buffer-limit限制,导致主从连接断开的问题

安全相关配置

配置名 含义 默认值 可选值 可否支持 config set 动态配置
requirepass 密码 自定义 可以
bind 绑定 IP 自定义 不可以
masterauth 从节点需要配置的主节点密码 主节点IMA 不可以