总体配置相关参数

配置名 含义 默认值 可选值 是否支持config   set配置热生效
daemonize 是否是守护进程 no yes|no
port 端口号 6379 整数
loglevel 日志级别 notice debug|verbose|notice|warning
logfile 日志文件名 自定义,建议以端口号为名
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-perioid 看门狗,用于诊断Redis的延迟问题,些参数是检查周期。此参数需要在运行时配置才能生效。 0 整数
activerehashing 指定是否激活重置哈希 yes yes|no
dir 工作目录(aof、rdb、日志文件都存放在此目录) ./(当前目录) 自定义

内存相关参数

配置名 含义 默认值 可选值 是否支持config set配置热生效
maxmemory 最大可用内存(单位字节) 0(没有限制) 整数
maxmemory-policy 内存不够时,淘汰策略 noeviction volatile-lru->用lru算法删除过期的键值
allkeys-lrt->用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-no-rewrite 设置为yes表示rewrite期间对新写操作不fsync,暂时存在缓冲区,等rewrite完成后再写入 no yes|no
auto-aof-rewrite-min-size 触发rewrite的AOF文件最小阀值,单位MB 64mb 整数+mb
auto-aof-rewrite-percentage 触发rewrite的AOF文件的增长比例条件 100 整数
aof-rewrite-incremental-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-writes-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-insert-entries set数据结构优化参数 512 整数
zset-max-ziplist-entries zset数据结构优化参数 128 整数
zset-max-ziplist-value zset数据结构优化参数 64 整数
hll-sparse-max-bytes HyperLogLog数据结构优化参数 3000 整数

复制相关配置

配置名 含义 默认值 可选值 是否支持config set配置热生效
slaveof 指定当前从节点复制哪个主节点,参数:主节点ip和port ip port 否,但可以用slaveof命令设置
repl-ping-slave-period 主节点定期向从节点发送ping命令的周期,用于判定从节点是否存活。单位秒 10 整数
repl-timeout 主从节点复制超时时间,单位秒 60 整数
repl-backlog-size 复制积压缓存区大小 1M 整数
repl-backlog-ttl 主节点在没有从节点的情况下多长时间后释放复制积压缓存区空间,单位秒 3600 整数
slave-priority 从节点的优先级 100 0-100
min-slaves-to-write 当主节点发现从节点数据小于min-slaves-to-write且延迟小于等于min-slaves-max-lag时,master停止写入操作 0 整数
min-slaves-max-lag 10 整数
slave-server-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 32mb 8mb 60
整数
timeout 客户端闲置多少秒后关闭连接,单位秒 0(永不关闭) 整数
tcp-keepalive 检测TCP连接活性的周期,单位秒 0(不检测) 整数

安全相关配置参数

配置名 含义 默认值 可选值 是否支持config set配置热生效
requirepass 密码 自定义
bind 绑定IP 127.0.0.1 自定义
masterauth 从节点需要配置的主节点密码 主节点密码

哨兵相关配置参数

配置名 含义 默认值 可选值 是否支持config set配置热生效
sentinel monitor <master-name>   <ip> <port> <quorum> 定义监控的主节点名、ip、port、主观下线票数 sentinel monitor mymaster 127.0.0.1 6379 2 自定义masterName实际的ip port 票数 支持<quorum>
sentinel down-after-milliseconds   <master-name> <times> sentinel判定节点不可达的毫秒数 sentinel down-after-milliseconds mymaster 30000 整数 支持
sentinel parallel-syncs   <master-name> <nums> 在执行故障转移时,最多有多少个从服务器同时对新的主服务器进行同步 sentinel parallel-syncs mymaster 1 大于0,不超过从服务器个数 支持
sentinel failover-timeout  <master-name> <times> 故障迁移超时时间 sentinel failover-timeout mymaster 180000 整数 支持
sentinel auth-pass  <master-name> <passwd> 主节点密码 主节点密码 支持
sentinel notification-script  <master-name> <scriptpath> 故障转移期间脚本通知 脚本文件路径 支持
sentinel client-reconfig-script  <master-name> <script-path> 故障转移成功后脚本通知 脚本文件路径 支持

Cluster相关配置参数

配置名 含义 默认值 可选值 是否支持config set配置热生效
cluster-node-time 集群节点超时时间,单位毫秒 15000 整数
cluster-migration-barrier 主从节点切换需要的从节点数最小个数 1 整数
cluster-slave-validity-factor 从节点有效性判断因子,当从节点与主节点最后通信时间超过(cluster-node-timeout*slave-validity-factor)+repl-ping-slave-period时,对应从节点不具备故障转移资格,防止断线时间过长的从节点进行故障转移,设置为0表示从节点永不过期 10 整数
cluster-require-full-coverage 集群是否需要所有的slot都分配给在线节点,才能正常访问 yes yes|no
cluster enabled 是否开启集群模式 no yes|no
cluster-config-file 集群配置文件名称 nodes.conf nodes-{port}.conf

本文是根据《Redis开发与运维》一书整理的关于Redis的相关配置参数,随着Redis版本的更新,参数可能有所调整,最好的解释还是来自官方文档或安装包中redis.conf配置文件中对于参数的解释。