一.基本参数

1、daemonize
daeonize参数决定了Redis是否会称为一个守护进程,如果该参数值为yes,则表示Redis将会成为一个守护进程,如果该参数为no,则表示Redis不会成为一个守护进程。但是,如果Redis是服务脚本启动的,那么不管该参数为什么,Redis都会运行成为一个守护进程。
2、port
port表示Redis监听的端口,默认为6379.
3、bind
bind表示Redis绑定的IP地址,在默认情况下该参数的值为127.0.0.1,如果是这样配置,则只有本机自己可以访问Redis,在其他的机器上无法访问Redis。因此,在进行Redis配置时,必然要修改该参数。
4、database
该参数表示Redis的数据库的个数,默认为16,即表示有16个数据库。
5、timeout
该参数表示当客户端链接Redis成功后,如果长时间处于空闲情况下,多长时间会自动中断链接,默认为0,即不中断。
6、tcp-keepalive
该参数表示是否启用tcp-keepalive功能。
7、loglevel
该参数定义了日志级别,可以有以下四种取值:
(1)debug。debug级别有很多信息,适用于开发和测试。
(2)verbose。verbose级别也有很多信息,但是不如debug级别的信息多。
(3)notice。notice级别不如verbose级别多,适用于生产环境使用。
(4)warning。warning级别信息最少,只显示关键和重要的信息。
8、tcp-backlog
该参数指定tcp-backlog的长度,backlog是一个等待队列,当Redis并发量很高,达到了Redis处理的极限后,就会将新的请求写入backlog中,等待Redis不忙后再进行处理。
9、max-clients
表示最大链接个数。
10、max-memory
表示Redis可以使用的最大内存。
11、logfile
该参数用于定义Redis的日志文件。
12、requirepass
该参数用于配置在登录Redis时的验证密码,在默认情况下该参数被注释,因此在默认情况下Redis的登录不需要认证。

 

二、RDB持久化参数

1、save
该参数用于设置RDB持久化的频次,该参数后面第一个值为时间,单位为秒,第二个值为改变次数,两个联合起来即表示当该时间内,向Redis数据库中改变该次数,就进行一次持久化保存。如果想要关闭RDB持久化功能,可以设置为save “”。
2、stop-writes-on-bgsave-error
当该参数设置为yes时,在进行RDB备份的时候,一旦发生错误,就会停止写操作。
3、rdbcompression
当该参数设置为yes时,RDB持久化备份会进行压缩,这个过程会消耗CPU资源,但是会节省存储空间。
4、rdbchecksum
当该参数设置为yes时,Redis在生成RDB备份文件时会生成校验信息,在启动加载RDB文件时,会对RDB文件的校验码进行检查,只有校验检验成功,才会启动Redis,该参数会导致Redis启动变慢,但是可以防止错误。
5、dbfilename
该参数定义了RDB文件的名称。
6、dir
该参数定义了RDB文件的存放路径。

 

三、AOF持久化参数

1、appendonly
该参数定义了是否开启AOF持久化,如果该参数为NO,则表示不开启AOF持久化,如果该参数为YES,则表示开启AOF持久化,在默认情况下,Redis配置文件中该参数为NO,即表示不开启AOF持久化。
2、appendfilename
该参数定义了AOF持久化的写入文件。
3、appendfsync
该参数表示何时进行持久化,当该参数为always时,每次收到写命令时,立即进行AOF持久化备份,这样做可以最大程度上防止数据丢失,但是会造成性能下降;当该参数为everysec时,表示每秒钟写一次,不管这一秒收到多少个数据写请求;当该参数为NO时,表示由操作系统决定何时进行持久化备份。
6、no-append-fsync-on-write
当该参数为yes时,表示在重写时,对于新的写操作不做同步,而是暂时存放在内存中。
7、auto-aof-rewrite-percentage
该参数表示自动进行AOF持久化的时机,后面跟的是数据的比例,比如当该值为50时,就表示当当前的AOF文件大小是原来的150%时,就会进行一次持久化备份写入。
8、auto-aof-rewrite-min-size
该参数也是定义了AOF持久化的时机,后面跟的是一个大小,比如当该值为32mb时,表示当文件为32mb时会进行持久化操作。

 

四、主从同步参数

1、slaveof
slaveof用于配置Redis的主从同步中主库的信息,该参数通常配置在从库上,后面先跟主库的IP地址,后跟主库的端口。在默认情况下,该参数在注释中,处于关闭状态。
2、masterauth
如果Redis主从同步配置中主库配置了密码,则可以在从库上使用此参数指定主库的密码。
3、slave-read-only
如果Redis配置了主从同步,可以在Redis从库上将此参数配置为yes,使得本数据库只允许读而不允许写。

 

五、配置参考

master

redis bind redis bind参数_redis bind

redis bind redis bind参数_持久化_02

bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /opt/redis/run/redis_6379.pid
loglevel notice
logfile /opt/redis/log/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /opt/redis/db/
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 'UbekGEn4HICytd6aW0'
masterauth 'UbekGEn4HICytd6aW0'
maxmemory 4g
maxmemory-policy volatile-lru
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
# cluster-enabled yes
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
activerehashing yes
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
aof-rewrite-incremental-fsync yes

View Code

slave

redis bind redis bind参数_redis bind

redis bind redis bind参数_持久化_02

bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /opt/redis/redis_6379.pid
loglevel notice
logfile /opt/redis/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /opt/redis/db/
slave-serve-stale-data yes
slave-read-only yes
slaveof 11.0.1.143 6379
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 'UbekGEn4HICytd6aW0'
masterauth 'UbekGEn4HICytd6aW0'
maxmemory 4g
maxmemory-policy volatile-lru
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
# cluster-enabled yes
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
activerehashing yes
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
aof-rewrite-incremental-fsync yes

View Code

 

启动service

redis bind redis bind参数_redis bind

redis bind redis bind参数_持久化_02

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/opt/redis/bin/redis-server /opt/redis/conf/redis.conf --daemonize no
ExecStop=/opt/redis/bin/redis-cli -p 6379 shutdown
User=bsafe
Group=bsafe
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
LimitNOFILE=64000
LimitNPROC=64000

[Install]
WantedBy=multi-user.target

View Code

 注意:不同版本配置会有所变化,具体参考官网对应版本配置

https://redis.io/docs/management/config/