redis数据同步

redis数据主从同步,仅仅是为了做一个测试(在本地部署两个redis的服务)

redis的数据同步源于对mysql的数据库读写分离理解

一:mysql的数据同步的流程如下如所示,Master将数据修改记录存储在binary log中,Slave通过I/O将二进制文件拷贝到中继日志(relay log),Slave读取中继日志并对其数据库进行对应的操作。



(以上的步骤只是用于简单的理解,深一步了解请自行查询)

二:在单机模式模拟数据同步

 1:在我的资源中下载redis的安装包(也可以使用其他),复制两份来模拟Master和Slave,分别取名为redisMasterSevice和redisSlaveService

    2:修改Master和Slave的配置 

        Master中找到配置文件redis.windows.conf(windows中的名称,linux找到对应的配置文件),中找到绑定的IP地址,本文中是在本地进行测试所以绑定的地址为127.0.0.1,在服务器绑定为对应的IP地址,配置如下图所示

        Slave中找到配置文件redis.windows.conf(windows中的名称,linux找到对应的配置文件),将默认的端口号更改为非6379和其他未占用端口(我修改为6380);


        同理绑定的地址为127.0.0.1,如果是服务器更改绑定地址为对应的地址;


      修改Master和Slave的对应关系,在Slave中的配置文件中搜索# slaveof <masterip> <masterport>,我们在下面按照格式添加Master的配置类似 slaveof  MasterIP地址  Master端口,如下图


三:分别启动Master和Slave服务

    启动Master服务。通过cmd跳转到redisMasterService文件夹下,输入redis-server.exe redis.conf启动Master服务

    启动Slave服务,方法如启动Master服务

slave服务启动后出现如下,修改配置之后slave服务会在启动之后主动连接Master服务(SYNC),然后通过flush、load来将Master数据同步到slave



四:进行测试是否数据同步

     同样打开两个窗口来操作reids(之前运行得服务端不可关闭),对应到Master的文件夹下,输入redis-cli.exe -p 6379 进入客户端,输入flushdb命令清空缓存数据,然后数据一个简单的命令set key1 value1 来存入Master中


   新打开cmd窗口, 对应到Slave的文件夹下 ,输入redis-cli.exe -p 6380进入客户端,输入get key1看是否获取到数据value1

这样看来Slave获取到了Master中的数据,完成了同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值