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 | 不可以 |