关闭了这个功能,RDB 内存快照文件的校验就是 0 ,代码会自动跳过检查 。
推荐你关闭,让我快到令人发指 。
你还可以通过 dbfilename 参数来指定 RDB 内存快照文件名,默认是 dbfilename dump.rdb 。
5、rdb-del-sync-files
默认配置是 rdb-del-sync-files no,主从进行全量同步时,通过传输 RDB 内存快照文件实现,没有开启 RDB 持久化的实例在同步完成后会删除该文件,通常情况下保持默认即可 。
6、dir
我的工作目录,注意这是目录而不是文件,默认配置是dir ./ 。比如存放 RDB 内存快照文件、AOF 文件 。
三、主从复制这部分配置很重要,涉及到主从复制的方方面面,是高可用的基石,重点对待啊伙计们 。
1、replicaof
主从复制,使用replicaof <masterip> <masterport> 配置将当前实例成为其他 Redis 服务的从节点 。
- masterip,就是 master 的 IP 。
- masterport,master 的端口 。
- 我使用异步实现主从复制,当 Master 节点的 slave 节点数量小于指定的数量时,你可以设置 Master 节点停止处理写请求 。
- 主从复制如果断开的时间较短,slave 节点可以执行部分重新同步,需要合理设置 backlog size,保证这个缓存区能完整保存断连期间 Master 接受写请求的数据,防止出现全量复制,具体配置后面会细说 。
- 主从复制是自动的,不需要用户干预 。
如果当前节点是 slave,且 master 节点配置了 requirepass 参数设置了密码,那么 slave 节点必须使用该参数配置为 master 的密码,否则 master 节点将拒绝该 slave 节点的请求 。
配置方式为 masterauth <master-password> 。
3、masteruser
在 6.0 以上版本,如果使用了我的 ACL 安全功能,只配置 masterauth 还不够 。因为默认用户不能运行 PSYNC 命令或者主从复制所需要的其他命令 。
这时候,最好配置一个专门用于主从复制的特殊用户,配置方式为 masteruser <username> 。
4、replica-serve-stale-data
MySQL:“当 slave 节点与 master 失去连接,导致主从同步失败的时候,还能处理客户端请求么?”slave 节点可以有以下两种行为来决定是否处理客户端请求 。
- 配置为 yes,slave 节点可以继续处理客户端请求,但是数据可能是旧的,因为新的没同步过来 。也可能是空的,如果是第一次同步的话 。
- 配置为 no,slave 节点将返回错误 MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to no给客户端 。但是以下的指令还是可以执行:INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE,UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST,HOST and LATENCY 。
5、replica-read-only
这个配置用于控制 slave 实例能否接收写指令,在 2.6 版本后默认配置为 yes,表示 slave 节点只处理读请求,如果为 no 则可读可写 。
我建议保持默认配置,让 slave 节点只作为副本实现高可用 。想要提高写性能,使用集群模式横向拓展更好 。
6、repl-diskless-sync
主从复制过程中,新加入的 slave 节点和 slave 节点重连后无法进行增量同步,需要进行一次全量同步,master 节点会生成 RDB 内存快照文件传输给 slave 节点 。
所以这个配置是用于控制传输方式的,传输方式有两种 。
- Disk-backed(磁盘备份):master 节点创建新进程将 RDB 内存快照文件写到磁盘,主进程逐步将这个文件传输到不同 slave 节点 。
- Diskless(无盘备份):master 节点创建一个新进程直接把 RDB 内存快照内容写到 Socket,不会将 RDB 内存快照文件持久化到磁盘 。
使用无盘备份的话,当 RDB 内存快照文件传输开始,如果当前有多个slave 节点与 master 建立连接,我会使用并行传输的方式将 RDB 内容传输给多个节点 。
默认的配置是 repl-diskless-sync yes,表示使用无盘备份 。在磁盘速度很慢,而网络超快的情况下,无盘备份会更给力 。如果网络很慢,有可能会出现数据丢失,推荐你改成 no 。
7、repl-diskless-sync-delay
使用无盘复制的话,如果此刻有新的 slave 发起全量同步,需要等待之前的传输完毕才能开启传输 。
推荐阅读
- 职业教育|热血江湖手游:经典五大职业设定,公测火爆开启,两大门派争霸,谁能成为江湖第一?
- “魔兽”退场 两代玩家告别青春
- 华晨宇|有一种“差距”叫邓紫棋和华晨宇,分手5年后,两人现状天差地别
- 王思聪|王思聪与网红喝下午茶,女方被扒已婚有娃,两人关系引发猜测
- 华晨宇|华晨宇王悦伊高调秀恩爱,两人穿情侣装、戴情侣口罩,细节好浪漫
- 陈乔恩|陈乔恩和Alan晒照秀幸福,甜喊老公老婆示爱,两人越来越有夫妻相
- 林青霞|林青霞邀请作家莫言家中做客,吃水饺喝茅台,两人同龄像隔代人!
- 梦中的那片海|68岁林青霞看京剧,和大师交头接耳显亲密,两位友人都戴千万翡翠
- 王思聪|王思聪带俩美女玩剧本杀,大热天套两件T恤,同回酒店当护花使者
- 李明|女同事请吃饭,喊两位闺蜜一起,吃完准备离开就被服务员拦了下来!