redis主从相关配置

Master-Slave

slaveof ip port

  • redis复制是异步的,你也能配置当slave数量小于某个值,阻止master写入
  • slave断开连接一段时间,slave能再次从master同步部分数据,需要配置缓冲的数据块大小
  • 复制是自动的,不需要用户干预,slave会自动连接master并再次同步

masterauth

如果master是要授权访问,master会在开始复制同步进程之前,验证slave的密码,验证不通过拒绝slave请求

slave-serve-stale-data

当slave跟master失去连接,复制进程却还在运行,slave有两种方式运行
* 如果被设置yes slave将回复客户端的请求 但数据可能是过期的,如果是第一次同步 数据是空的
* 如果被设置no slave将对各种命令回复”sync with master”错误,除了info和slaveof

slave-read-only yes

配置slave是否接受写,写slave实例存储短暂数据是有用的,因为写到slave的数据,再同步master之后
会被删除. 2.6版本之后 slave-read-only默认是true

repl-diskless-sync no

复制同步策略: 磁盘(disk)或直接写(socket)
新的slave需要全量同步,rdb文件需要从master传输到slaves.这个传输有两种方式
* 磁盘:master创建新的把rdb文件写到磁盘的进程,之后父进程把rdf文件传送到slave
* socket: master创建直接写rdb文件到slave socket的进程,不需要通过磁盘
磁盘复制,salve会排成队列等待master生成rdb文件之后,直接传输
socket复制,一旦传输开始,新进来slave将排成队列,直到这个传输结束,才开始新的传输
socket复制,master在开始传输之前,会等待一段可以配置的时间,是为了等待多个slave到达,并行传输

repl-diskless-sync-deplay 5

socket复制,可以配置延迟等待时间,是为了等待多个slave到达,并行写,默认5秒

repl-ping-slave-period 10

slave向master发送心跳的时间,默认10秒

repl-timeout 60

超时时间
* slave同步数据时,连接maste超时
* slave连接master超时
* master向slave发送ack ping超时

repl-disable-tcp-nodelay no

设置yes redis将使用更小tcp包和更少宽带向slave发送数据,但是这个会造成延迟
设置no 延迟会减少,但会使用更多的宽带

repl-backlog-size 1mb

设置backlog数据大小, backlog是一个缓冲,当slave失去连接,master把数据写入到backlog
当slave重新连上,全量同步不需要,只需要同步backlog保存的数据

repl-backlog-ttl 3600

master不能连接slave超过配置的时间, backlog数据将会被清掉

slave-priority 100

salve的priority越低,有着越高的保证,当master挂断的时候,越有可能成为master

min-slaves-to-write 3

如果slave个数少于配置的个数,master将不会接受写

min-slaves-max-lag 10

和min-slaves-to-writes结合使用,指定单位时间内

slave-announce-ip 5.5.5.5

指定slave的ip

slave-announce-port 1234

指定slave的端口


这里写图片描述
个人博客欢迎您


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值