Redis 主从配置(Windows版)

安装从库

1、复制一份 Redis 文件,当做从库。

2、修改从库文件中 redis.windows.conf 的端口号。

3、安装服务,需要重新设置名称。然后去服务中,开启“redis6380”(此时就可以连接6380的库了)

redis-server --service-install redis.windows.conf  --service-name Redis6380

配置主从服务器

Redis Slaveof 命令

Redis Slaveof 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。

如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 slaveof host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

另外,对一个从属服务器执行命令 slaveof no one 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

利用『 slaveof no one 不会丢弃同步所得数据集 』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

在从库6380上输入命令,来开启数据同步(格式:slaveof host port)

slaveof 127.0.0.1 6379 //同步主库 6379

在从库上输入命令,关闭数据同步

slaveof no one         //取消同步

1、通过 cd 命令进入解压的目录,使用 redis-cli -p 6380 命令切到6380从库

2、slaveof 127.0.0.1 6379 设置主从,6379是主库,6380是从库。(设置同步时,会将主库所有数据一起同步过来。

3、测试

6379库 set A 123 ,6380库 get A,从库默认是不允许写入数据的

4、永久保存主从关系

按如下所示,添加命令 slaveof 127.0.0.1 6379 ,配置好以后,每次redis服务重启时,会自动同步主库数据

主从同步过程

下面来研究下slave服务器和master服务器间是如何建立起主从同步机制的。

1、Slave服务启动,主动连接Master,并发送SYNC命令,请求初始化同步

2、Master收到SYNC后,执行BGSAVE命令生成RDB文件,并缓存该时间段内的写命令

3、Master完成RDB文件后,将其发送给所有Slave服务器

4、Slave服务器接收到RDB文件后,删除内存中旧的缓存数据,并装载RDB文件

5、Master在发送完RDB后,即刻向所有Slave服务器发送缓存中的写命令

6、至此初始化完成,后续进行增量同步


相关文章:C# Redis 可视化工具 Redis Desktop Manager

              C# StackExchange.Redis 简单使用

              C# Redis Windows版下载与安装


参考文章:https://blog.csdn.net/guweiyu_thinker/article/details/78816071

posted @ 2018-06-12 10:05 阅读(...) 评论(...) 编辑 收藏