在现实中,服务器宕机是十分常见的,服务器一宕机,我们的redis服务自然就停了,具有很大的安全隐患,因此redis搭建主从服务器很有必要,不仅可以实现读写分离,还可以形成强大的多级服务器集群架构!
注:master和slave都是一个redis实例(redis服务),从服务器可以通过日志机制同步主服务器的数据。
这里我操作搭建一个从服务器,多个的操作方法一样!
如图,将你的redis目录重新复制一份放在同一个文件夹下,让一个当主服务为,另一个当从服务器。
对于主服务器,不做任何变更,需要变更的是Redis-Slave从服务器里的配置文件。
打开Redis-Slave里的redis.windows.conf
可以看到bind绑定的ip以及port端口号,由于是在同一台电脑上搭建,因此ip不修改,以后遇到多台电脑情况,只需在此基础上将ip也改为对应电脑的即可。
由于两个服务器端都是在同一台电脑的同一个系统下,bind都是本地IP地址127.0.0.1,两个独立的Redis实例,我们可以让端口不一样,之后就可以独立启动。
如图,我们将从服务器的端口号设为6378
从服务器就搭建好了,接下来就是主从Redis服务绑定,启动主从服务。
打开Redis-slave文件夹中的配置文件,在port行下面增加一行,用于绑定主服务器端的IP地址和port端口:
slaveof 127.0.0.1 6379
保存后主从Redis服务绑定完成!
同时为了防止主服务器和从服务器启动冲突,我们这里将从服务器配置重名命(因为redis-server 后面默认是redis.windows.conf)。
这时从服务器启动指令为:
redis-server redis.windows-slave.conf
启动主从服务端
可以看到启动成功且主从绑定也是ok的·,接下分别启动各自的客户端。
为了防止冲突,启动时加上端口号:
主:redis-cli -p 6379
从:redis-cli -p 6378
客户端启动成功!
接下来我们测试主从服务的读写同步与分离:
如图,我们在主服务器中添加了一个字段,我们看能否在从服务器中读到:
可以,主从同步没有问题!
我们知道从服务器是只读的,我们验证一下:
可以看到测试成功,从服务器不能写入!
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门