本文就主要给自己记录下redis主从配置是怎么配置的,在刚开始学的时候查了很多资料,也看了很多个版本,也遇到很多个坑,现在我就将我遇到的坑进行mark下来。
目前我所用的项目是有用到redis+memcahce的,但没有用到redis主从所以就想看看是怎么配置的,毕竟主从的优势相对来比较明显和增加redis的服务代价比较低。主从配置就可以进行读写分离,虽然redis有事务,和单线程处理可以保证数据的一致性。但我觉得如果在代价不大的情况下,增加个主从配置进行对redis主库进行减轻读压力其实也是一个蛮不错的选择,毕竟免费嘛。
下面我就直接先指明需要注意的几个点:
1.是redis的端口号,默认是6379,不过建议大家进行更改,毕竟默认的太容易被攻击了,因为我们是需要打开外网服务。
2.需要打开防火墙,相信大部分开发都遇到防火墙的坑,这里就不介绍了。
3.首先在master服务器安装redis服务和启动,然后打开6379端口(这里用默认演示),在slave服务器安装redis服务和启动,然后也是打开6379端口。
4.在master服务器上的redis.conf里面添加一句requirepass 123456 ,意思是添加主库redis的密码。
如何检测是否打开呢,可以用telnet ip 端口号,如果能进入到就是成功,127.0.0.1为本机ip,大家要换成外网ip测试就好。
5.当以上都配置成功后,就可以切到从库进行配置了。打开slave库的redis.conf,添加以下几行。
slaveof ip(这里填写主库ip)
masterauth 123456(填写主库密码)
6.最后将master和slave的redis进行重启,这样就结束了(也可以在slave库redis服务里面输入info查看)。
如何测试了,既然我们可以telnet进入到redis服务里面,那我们就直接在telnet之后redis里面进行操作。首先在在master库输入:set test 1 ,然后在slave的redis服务里面输入:get test。如果获取成功得到1那你就成功了,我踩过的坑基本都踩平了,至于大家有遇到其他坑也可以提下,谢谢