您的位置:首页 > 其它

主从复制(windows单机上实现,多个端口)(十)

weixin_43113679 2019-05-16 16:31 102 查看
版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/90266481

现在开始主从复制,需求肯定是多台电脑是最好能模拟的,但是受限于资金和电脑(本人电脑是windows),只能在一台电脑上进行模拟主从复制了,https://blog.csdn.net/m0_38129920/article/details/84104779我是根据这个博客来自己做的一些步骤,并说出自己做的时候的一些问题,当然大家也可以直接按上面博客的来,我实践过,没有问题,就是有可能想法有一些区别所以自己在做的时候会碰壁

我是让端口为6380的为Master,端口号为6381,6382的为Slave

1.复制redis.windows-service.conf文件,并改名成对应的端口redis-6380.conf,redis-6381.conf,redis-6382.conf


上面三个redis-6380.conf,redis-6381.conf,redis-6382.conf是自己复制的redis-windows.server.conf改的别名
复制后分别在这三个conf里修改配置

第一处地方


改端口,改成6380或者6381或者6382(三个conf都要改)
如果你的redis有密码限制的话

第二处地方对生成的log文件命名更改


改这个地方,看到这就应该明白了,最开始的下部分那三个txt文件不需要我们自己去建,让系统自己去建,自己只需要让conf执行就行了

第三处地方


记住这个更改的是Slave端口需要修改的,Master端口不用修改(如果修改了就没Master了),
这个的意思是:这个端口是哪个端口的Slave机

第四处地方


这个是Slave 需要打开的就是Slave是只能读,不能写,默认是yes,所以基本上不用改

第五处地方

关闭Master的AOF和RDB(Slave开启了,那Master就不用开启了)


记住关闭的是Master的,Slave还是要开的
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
现在做的主从是下面这个图的模样

当然为了防止产生复制风暴可能就需要让上图的Master的上面再接个Master,它自己由Master变为Slave
这个不是重点,稍微一提,那就先看看自己配置成功的结果吧

2.分别启动三个节点


上面这三张图形象的说明了这一点我就不解释了,后面的操作这三个窗口不要关闭,要不关哪个端口,哪个端口就关闭

查看端口的信息用

redis-cli.exe -p 6380 "info"  //info查看详细信息

会出来很多信息

这个就说明你配置成功了。当前端口为Master,还有两个端口(6381,6382)为Slave
当然也可以看看Slave的信息

redis-cli.exe -p 6381 "info"


它们还是有很大的区别的

下面测试主从节点。

那三个端口开着,可以再开两个cmd.exe,一个操作Master,一个操作Slave
在Master的操作

D:\redis>redis-cli.exe -p 6380   //进入Master,
127.0.0.1:6380> keys * //查看所有的key
(empty list or set)
127.0.0.1:6380> set mykey "55555"  //添加数据
OK
127.0.0.1:6380>

在Slave的操作

C:\Users\lenovo>redis-cli -p 6381
4000
//进入Slave
127.0.0.1:6381> keys *  //获取全部key
1) "mykey"
127.0.0.1:6381> get mykey  //获得key为mykey的值
"55555"
127.0.0.1:6381> set my 666  //slave添加数据
//只允许Slave读,不允许写,这样可以有效读写分离,分担压力
(error) READONLY You can't write against a read only slave.

默认情况下,slave节点是只读的,可以从slave节点的info信息中可以看出。 slave_read_only:1,表示slave是只读的。

标签: