redis replicaof参数

redis replicaof参数

   张吉吉     2019年12月20日 05:04     3718    

replicaof <masterip> <masterport>
#主从复制,使用replicaof来让一个redis实例成为另一个redis实例的副本,默认关闭
#注意这个只需要在replica上配置

masterauth <master-password>
#如果master需要密码认证,就在这里设置,默认不设置

replica-serve-stale-data yes
#当一个 replica与 master 失去联系,或者复制正在进行的时候,
#  replica可能会有两种表现:
#  1) 如果为 yes ,replica仍然会应答客户端请求,但返回的数据可能是过时,
#     或者数据可能是空的在第一次同步的时候
#  2)如果copy -serve- stal- data设置为“否”,那么这个副本将会回复
#    在所有命令中出现“与master同步”的错误
#    但是对于INFO, replicaOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG,
#    订阅,取消订阅,PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB,
#    命令,POST, HOST:延时。
 
replica-read-only yes
#  你可以配置一个 slave 实体是否接受写入操作。
#  通过写入操作来存储一些短暂的数据对于一个 replica实例来说可能是有用的,
#  因为相对从 master 重新同步数而言,据数据写入到 replica会更容易被删除。
#  但是如果客户端因为一个错误的配置写入,也可能会导致一些问题。
#  从 redis 2.6 版起,默认 slaves 都是只读的。
 
repl-diskless-sync no
#  主从数据复制是否使用无硬盘复制功能。
#  新的从站和重连后不能继续备份的从站,需要做所谓的“完全备份”,即将一个RDB文件从主站传送到从站。
#  这个传送有以下两种方式:
#  1)硬盘备份:redis主站创建一个新的进程,用于把RDB文件写到硬盘上。过一会儿,其父进程递增地将文件传送给从站。
#  2)无硬盘备份:redis主站创建一个新的进程,子进程直接把RDB文件写到从站的套接字,不需要用到硬盘。
#  在硬盘备份的情况下,主站的子进程生成RDB文件。一旦生成,多个从站可以立即排成队列使用主站的RDB文件。
#  在无硬盘备份的情况下,一次RDB传送开始,新的从站到达后,需要等待现在的传送结束,才能开启新的传送。
#  如果使用无硬盘备份,主站会在开始传送之间等待一段时间(可配置,以秒为单位),希望等待多个子站到达后并行传送。
#  在硬盘低速而网络高速(高带宽)情况下,无硬盘备份更好。
 
repl-diskless-sync-delay 5
#  当启用无硬盘备份,服务器等待一段时间后才会通过套接字向从站传送RDB文件,这个等待时间是可配置的。
#  这一点很重要,因为一旦传送开始,就不可能再为一个新到达的从站服务。从站则要排队等待下一次RDB传送。因此服务器等待一段
#  时间以期更多的从站到达。
#  延迟时间以秒为单位,默认为5秒。要关掉这一功能,只需将它设置为0秒,传送会立即启动。
 
repl-ping-replica-period 10
#从redis会周期性的向主redis发出PING包,你可以通过repl_ping_slave_period指令来控制其周期,默认是10秒。
 
repl-timeout 60
# 接下来的选项为以下内容设置备份的超时时间:
#  1)从从站的角度,同步期间的批量传输的I/O
#  2)从站角度认为的主站超时(数据,ping)
#  3)主站角度认为的从站超时(REPLCONF ACK pings)
#  确认这些值比定义的repl-ping-slave-period要大,否则每次主站和从站之间通信低速时都会被检测为超时。
 
repl-disable-tcp-nodelay no
#  同步之后是否禁用从站上的TCP_NODELAY
#  如果你选择yes,redis会使用较少量的TCP包和带宽向从站发送数据。但这会导致在从站增加一点数据的延时。
#  Linux内核默认配置情况下最多40毫秒的延时。
#  如果选择no,从站的数据延时不会那么多,但备份需要的带宽相对较多。
#  默认情况下我们将潜在因素优化,但在高负载情况下或者在主从站都跳的情况下,把它切换为yes是个好主意。

repl-backlog-size 1mb
#  设置备份的工作储备大小。工作储备是一个缓冲区,当从站断开一段时间的情况时,它替从站接收存储数据,
#  因此当从站重连时,通常不需要完全备份,只需要一个部分同步就可以,即把从站断开时错过的一部分数据接收。
#  工作储备越大,从站可以断开并稍后执行部分同步的断开时间就越长。
#  只要有一个从站连接,就会立刻分配一个工作储备。
 
repl-backlog-ttl 3600
#  主站有一段时间没有与从站连接,对应的工作储备就会自动释放。
#  这个选项用于配置释放前等待的秒数,秒数从断开的那一刻开始计算,值为0表示不释放。

replica-priority 100
#  从站优先级是可以从redis的INFO命令输出中查到的一个整数。当主站不能正常工作时
#  redis sentinel使用它来选择一个从站并将它提升为主站。
#  低优先级的从站被认为更适合于提升,因此如果有三个从站优先级分别是10,
#  100,25,sentinel会选择优先级为10的从站,因为它的优先级最低。
#  然而优先级值为0的从站不能执行主站的角色,因此优先级为0的从站永远不会被redis sentinel提升。
#  默认优先级是100

min-replicas-to-write 3
min-replicas-max-lag 10

#  主站可以停止接受写请求,当与它连接的从站少于N个,滞后少于M秒,N个从站必须是在线状态。
#  延迟的秒数必须<=所定义的值,延迟秒数是从最后一次收到的来自从站的ping开始计算。ping通常是每秒一次。
#  这一选项并不保证N个备份都会接受写请求,但是会限制在指定秒数内由于从站数量不够导致的写操作丢失的情况。
#  如果想要至少3个从站且延迟少于10秒,如上配置即可
 
replica-announce-ip 5.5.5.5
replica-announce-port 1234

# Redis master能够以不同的方式列出所连接slave的地址和端口。
# 例如,“INFO replication”部分提供此信息,除了其他工具之外,Redis Sentinel还使用该信息来发现slave实例。
# 此信息可用的另一个地方在masterser的“ROLE”命令的输出中。
# 通常由slave报告的列出的IP和地址,通过以下方式获得:
# IP:通过检查slave与master连接使用的套接字的对等体地址自动检测地址。
# 端口:端口在复制握手期间由slavet通信,并且通常是slave正在使用列出连接的端口。
# 然而,当使用端口转发或网络地址转换(NAT)时,slave实际上可以通过(不同的IP和端口对)来到达。 slave可以使用以下两个选项,以便向master报告一组特定的IP和端口,
# 以便INFO和ROLE将报告这些值。
# 如果你需要仅覆盖端口或IP地址,则没必要使用这两个选项。


文章评论

0

其他文章