默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作
这将使用户知道数据没有正确的持久化到硬盘,否则可能没人注意到并且造成一些灾难
stop-writes-on-bgsave-error yes
默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作。
stop-writes-on-bgsave-error yes
当导出到 .rdb 数据库时是否用LZF压缩字符串对象
rdbcompression yes
版本5的RDB有一个CRC64算法的校验和放在了文件的最后。这将使文件格式更加可靠。
rdbchecksum yes
持久化数据库的文件名
dbfilename dump-master.rdb
工作目录
dir /usr/local/redis-4.0.8/redis_master/
slav服务连接master的密码
masterauth testmaster123
当一个slave失去和master的连接,或者同步正在进行中,slave的行为可以有两种:
#1) 如果 slave-serve-stale-data 设置为 “yes” (默认值),slave会继续响应客户端请求,可能是正常数据,或者是过时了的数据,也可能是还没获得值的空数据。
2) 如果 slave-serve-stale-data 设置为 “no”,slave会回复"正在从master同步
(SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。
slave-serve-stale-data yes
配置是否仅读
slave-read-only yes
如果你选择“yes”Redis将使用更少的TCP包和带宽来向slaves发送数据。但是这将使数据传输到slave上有延迟,Linux内核的默认配置会达到40毫秒
如果你选择了 “no” 数据传输到salve的延迟将会减少但要使用更多的带宽
repl-disable-tcp-nodelay no
slave的优先级,优先级数字小的salve会优先考虑提升为master
slave-priority 100
密码验证
requirepass testmaster123
redis实例最大占用内存,一旦内存使用达到上限,Redis会根据选定的回收策略(参见:
maxmemmory-policy)删除key
maxmemory 3gb
最大内存策略:如果达到内存限制了,Redis如何选择删除key。
volatile-lru -> 根据LRU算法删除带有过期时间的key。
allkeys-lru -> 根据LRU算法删除任何key。
volatile-random -> 根据过期设置来随机删除key, 具备过期时间的key。
allkeys->random -> 无差别随机删, 任何一个key。
volatile-ttl -> 根据最近过期时间来删除(辅以TTL), 这是对于有过期时间的key
noeviction -> 谁也不删,直接在写操作时返回错误。
maxmemory-policy volatile-lru
AOF开启
appendonly no
aof文件名
appendfilename “appendonly.aof”
fsync() 系统调用告诉操作系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。
有些操作系统会真的把数据马上刷到磁盘上;有些则会尽快去尝试这么做。
Redis支持三种不同的模式:
no:不要立刻刷,只有在操作系统需要刷的时候再刷。比较快。
always:每次写操作都立刻写入到aof文件。慢,但是最安全。
everysec:每秒写一次。折中方案。
appendfsync everysec