Redis 主从配置(Windows版)

安装从库

一、复制一份 Redis 文件,当作从库。html

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

三、安装服务,须要从新设置名称。而后去服务中,开启“redis6380”(此时就能够链接6380的库了)windows

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

配置主从服务器

Redis Slaveof 命令服务器

Redis Slaveof 命令能够将当前服务器转变为指定服务器的从属服务器(slave server)。并发

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

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

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

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

slaveof 127.0.0.1 6379 //同步主库 6379

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

slaveof no one         //取消同步

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

二、slaveof 127.0.0.1 6379 设置主从,6379是主库,6380是从库。(设置同步时,会将主库全部数据一块儿同步过来。

三、测试

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

四、永久保存主从关系

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

主从同步过程

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

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

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

三、Master完成RDB文件后,将其发送给全部Slave服务器

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

五、Master在发送完RDB后,即刻向全部Slave服务器发送缓存中的写命令

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


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

              C# StackExchange.Redis 简单使用

              C# Redis Windows版下载与安装


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