# ./redis-server /path/to/redis.conf
# 指定包含其他的配置文件,可以在同一主机上多个redis实例之间使用同一份配置文件,而同时各个实例又拥有自己特定的配置文件
# include /path/to/local.conf
# 绑定主机地址
# bind 127.0.0.1 -::1
# 默认是yes,即开启。设置外部网络连接redis服务,设置方式如下:
# 关闭protected-mode模式,此时外部网络可以直接访问
# 开启protected-mode保护模式,需配置bind ip或者设置访问密码
protected-mode no
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
# 指定Redis监听的端口, 默认端口为6379
port 6379
tcp-backlog 511
# 当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 0
tcp-keepalive 300
# 启用守护进程
daemonize yes
# 当Redis以守护进行方式运行时, Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_6379.pid
# 指定日志记录级别,Redis总共支持四个级别: debug、verbose、notice、warning, 默认为verbose
loglevel notice
# 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile "/usr/local/redis/logs/6379.log"
# 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
save 3600 1
save 300 100
save 60 10000
stop-writes-on-bgsave-error yes
# 指定存储至本地数据库时是否压缩数量,默认为yes, Redis采用LZF(压缩算法)压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
rdbchecksum yes
# 指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
rdb-del-sync-files no
# 指定本地数据库存放目录
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
# 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
requirepass 123456
# 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,
# 如果设置了maxclients 0, 表示无限制。当客户端连接数达到限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
# maxclients 10000
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
# 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断点时导致一段时间内的数据丢失。
# 因为Redis本身同步数据是按上面save条件来同步的,所以有的数据会在一段时间内只存在内存中,默认为no
appendonly yes
appendfilename "appendonly.aof"
# 指定更新日志条件,共有三个可选值:
# no: 表示等操作系统进行数据缓存同步到磁盘(快)
# always: 表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
# everysec: 表示每秒同步一次(折中,默认值)
# appendfsync always
appendfsync everysec
# appendfsync no
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
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
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes