redis主从复制 从而 数据备份和读写分离

蜗牛Redis系列文章目录http://www.cnblogs.com/tdws/tag/NoSql/html

爬虫转载注明地址本文地址—博客园蜗牛 http://www.cnblogs.com/tdws/p/5705782.htmlredis

云服务器过时了,此次测试就放在本地(127.0.0.1)。三个redis客户端,端口分别为6379,6380,6381。缓存

首先将你的redis复制三份(我使用的是redis3.2.1),若是你下载不到,能够留下邮箱或者给我私信。服务器

首先打开cmd,用cd找到你的redis文件夹,个人操做是并发

在你的第一个redis客户端文件夹配置文件中,搜索port,找到以下位置测试

端口号设置为6379(默认的。后面一个,两个或者多个客户端分别修改成你想使用的端口号,我这里使用6380,6381)spa

这样一来,6379的rendi客户端已经启动。后面的客户端只须要你修改配置文件中的端口号后,以一样的方式打开redis。htm

下面打开你每一个redis所对应的客户端操做控制台,开启新cmd,切换到你须要的盘符下面,方式以下。blog

这样一来 redis客户端操做控制台已经启动,咱们能够正常操做set get flushdb save等。get

固然其余两个端口端口的redis操做控制台也这样启动,不过把你的端口号修改成你所对应的。

下面我将对6379做为master主节点,6380,6381为slave从节点。

那么测试操做过程以下:

首先flushall,确保清空缓存,接下来set三条数据并使用keys *命令来查看当前全部key val

下面,咱们来手动让6380端口的redis来做为6379的从节点,操做以下:

使用slaveof命令来达到目的。固然在这样的命令下,redis挂掉后,他们的主从关系就不存在了,稍后会讲到如何永久肯定主从关系。

咱们仍是先来测试一下数据是否同步过来了。

依然使用keys *命令,咱们能够看到结果。主从同步数据成功。那么6381端口同步也是同样的。

如今我在master 6379添加数据后来查看从节点的内容。

从节点中再次使用keys *命令查看:

能够看到6380已同步master节点的数据。

下面咱们在尝试一项操做:

我试图在从节点中set值,提示从服务器是只读的。不过咱们能够在从节点中操做save,这也算是一种redis数据备份吧。

既然这样了,咱们的主从复制已经配置结束。实现读写分离的原理也正是如此,在多个从服务器中读取数据,在master中操纵数据。

不过我认为这在普通场景中根本用不到,除非写量相对少,而读取量特别的,咱们才选择读写分离。

 

还有最后要说设置永久主从关系的方法就是,你在从节点的配置文件中,搜索slaveof关键字找到:

作如上配置,每当你重启redis服务,自动同步全部数据。

普通配置策略状况下,主挂从全挂,固然咱们也有办法来解决这个问题。

下一篇 Redis并发锁  http://www.cnblogs.com/tdws/p/5712835.html

有任何疑问和建议欢迎交流。

 

 

 若是个人点滴分享对您有点低帮助,欢迎点击下方红色关注,我将持续分享,共同进步

相关文章
相关标签/搜索