现在开始主从复制,需求肯定是多台电脑是最好能模拟的,但是受限于资金和电脑(本人电脑是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 //进入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是只读的。