欢迎投稿

今日深度:

Redis数据复制,redis数据

Redis数据复制,redis数据


Redis数据复制

Redis的复制特性和MySQL类似,都是采用的主从(master、slave)的方式。

Redis复制启动过程

以上为一个从服务器和一个主服务的情况下的过程。
当多个从服务器尝试连接一个主服务器的时候,略有不同:
1、假如主服务器BGSAVE尚未执行,多个从服务器就连上主服务器了 :那么,所有从服务器都会收到相同的快照文件和相同的缓冲区写命令
2、假如主服务器BGSAVE正在执行或者已经结束完毕,多个从服务器就连上主服务器了 :主服务与新建的从服务器执行以上图中的所有步骤
redis从服务器可以连接多个从服务器,假如X从服务器拥有从服务器Y,X从服务器正在解析从主服务器发来的呃快照的时候,将断开于Y从服务器的链接,导致Y服务器需要重新同步resync

和MySQL复制的异同

mysql需要配置文件和指令相结合,redis只需要指令或者只需要配置文件

MySQL的主从复制需要先修改配置文件;然后重启两台机器;最后master上建立账户并授权slave,slave上做好相关配置,才能实现主从。而Redis设置主从的方式非常简单,只需在从服务器上执行指令slaveof host port就好。(PS:启动的时候指定一个包含slaveof host port选项的配置文件也可以),此外,和MySQL有所不同的是:Redis不支持主主复制。

同步数据所使用的数据不同

MySQL是通过binlog文件来同步主从数据的,而Redis则是通过本身持久化方式中的快照(另外一种持久化方式是AOF)来同步主从数据的。而且使用的也是快照本身的BGSAVE持久化指令(另外一个是SAVE指令)

redis从服务器还可以有自己的从服务器

随着负载的不断上升,主master服务器可能会无法快速的更新所有从服务器,因为重连接和重新同步从服务器可能会导致系统超载。于是乎:可以用下图的方式来缓解:

尽管主从服务之间并不一定要想上图这样组成一个树状结构,但这种树状结构对于Redis来讲是可行且合理的


参考文献:redis in action

www.htsjk.Com true http://www.htsjk.com/redis/36476.html NewsArticle Redis数据复制,redis数据 Redis数据复制 Redis的复制特性和MySQL类似,都是采用的主从(master、slave)的方式。 Redis复制启动过程 以上为一个从服务器和一个主服务的情况下的过程。 当多个...
相关文章
    暂无相关文章
评论暂时关闭