查看配置文件有效参数:

cat /etc/redis/6379.conf |grep -v "^[#,;]" |grep -v "^$"


参数说明:

bind 127.0.0.1 172.17.48.1    #绑定服务器地址,空格隔开,若允许其他服务连接,要开放IP。
protected-mode no #保护模式默认启动,只允许本机连接;关闭保护模式,外部可连接。
port 6379 #端口,默认6379
tcp-backlog 511 #高并发情况需要调高避免连接问题,否则会设置为/proc/sys/net/core/somaxconn的大小
timeout 0 #客户端空闲多少秒后关闭连接,默认0表示禁用
tcp-keepalive 300 #当客户端断开连接时,服务器多少秒发送一次确认信息。Redis 3.2.1 始默认300秒
daemonize yes #redis 默认不启用后台进程,改为yes 启用,进程文件保留位置参考 pidfile 。
supervised no #(no/upstart/systemd/auto)可以通过upstart和systemd管理Redis守护进程,如 sudo systemctl start redis
pidfile /var/run/redis_6379.pid #守护进程文件
loglevel notice #日志级别,可为 debug,verbose,notice,warning。默认为notice,适合生产环境。
logfile /var/log/redis_6379.log #日志文件位置
databases 16 #数据库数量。登录时默认为0的数据库,如 dbid 为0~15,切换数据库语法:select <dbid>
save 900 1 #15分钟内至少有1个键被更改则进行快照
save 300 10 #5分钟内至少有10个键被更改则进行快照
save 60 10000 #1分钟内至少有10000个键被更改则进行快照
#save "" #禁用RDB持久化,即禁用snapshot功能 (也可注释所有的 save )。save会覆盖当前快照文件dump.rdb。
#快照会不定时保存数据,但会增加些IO,同时注意保证磁盘空间足够。
stop-writes-on-bgsave-error yes #save 写入磁盘出错是否停止写入redis!所有要保证监控和磁盘足够,可以改为no,否则出错没人知道。
rdbcompression yes #save rdb是否压缩,压缩都会消耗CPU,不压缩文件可能较大。
rdbchecksum no #是否启用CRC64校验,会在rdb文件末尾进行校验。saving或loading会损耗10%左右的性能,可禁用。
dbfilename dump.rdb
dir /var/lib/redis/6379 #工作目录,指定rdb 或AOF文件的默认目录。
requirepass re@DIS#2016 #redis访问密码,当protected-mode=no关闭保护模式时,外部访问最好设置密码。访问> auth re@DIS#2016
maxmemory 3g #redis 内存使用最大限制,
maxmemory-policy volatile-lru #内存管理策略,volatile-lru 表示移除近期做少使用的key。
maxmemory-samples 3 #一般lru是很准,可设置取几个样本出来再移除。默认为3。
appendonly yes #持久化存储除了rdb还有aof,aof默认禁用。aof以日志方式记录,每秒保存一次,比快照存储更安全。
appendfilename "appendonly.aof" #aof 存储文件名。
appendfsync everysec #aof 存储策略,有always(每次),everysec(每秒),no(不主动,系统执行)
no-appendfsync-on-rewrite no #yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入。
auto-aof-rewrite-percentage 100 #重写.aof文件,默认100,表示aof文件增长超过上次aof文件大小100%时重写。
auto-aof-rewrite-min-size 64mb #指定触发rewrite的aof文件大小,同时满足 auto-aof-rewrite-percentage 才重写。
aof-load-truncated yes #redis 恢复时自动忽略尾部不完整数据。
lua-time-limit 5000 #Lua脚本最大执行时间(毫秒)
slowlog-log-slower-than 10000 #慢查询阈值(微妙)。负数则禁用慢查询日志,0会记录所有查询命令。
slowlog-max-len 128 #日志长度限制,会占用内存。超过长度则移除旧记录,SLOWLOG RESET 可释放日志回收内存。
latency-monitor-threshold 0 #延迟阈值(毫秒),延时监控系统会收集超阈值的操作,使用 LATENCY 可打印相关图标。0:默认禁止。
notify-keyspace-events "" #redis 通知 pub/sub 客户端在键空间正在发生的有关事件。
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000 #(未知)HyperLogLog稀疏结构字节限制,大于16000无用。
activerehashing yes #哈希表刷新,操作越多刷新越多来是否内存。每秒10次刷新,每100毫秒刷新一次,每次1毫秒。
#client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds> 客户端资源限制
#<class> : normal,slave,pubsub 限制的客户端类别,默认值为normal,normal 不做限制。
#<hard limit> :硬限制,达到则立即断开客户端连接 ;<soft limit> :软限制,达到则保持<soft seconds> 后断开客户端连接
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10 #后台任务执行频率,如关闭超时连接;清除过期keys。提高会使用更多CPU,但对关闭连接、清除kes会更好。
aof-rewrite-incremental-fsync yes #当子进程重写 aof 文件时,文件每32mb同步一次,对于快速提交非常有用。