如何搭建redis主从服务器?

在学习redis过程中大家可能听过,读写分离这个词,那么读写分离到底是什么东西呢?
下面就说下我个人的见解,由于查询操作(读)会占用大量的资源,而增、删、改之类的操作则占用资源相对较少,而当一个网站的浏览量特别大的时候,由于读操作占用资源过大,导致服务器崩溃,所以我们需要采用读写分离的方式,来减轻服务器压力。(记住一个词:主写读从)
下面就讲下如何进行读写分离 :
首先我们准备好两台服务器,可以是两台虚拟机,也可以是一台虚拟机一台阿里云服务器(若使用阿里云服务器的时候,只能将阿里云的服务器作为主服务器,因为我们需要公网IP!),一般网上的教程都会写,只需要额外修改从节点中redis的配置文件中的slaveof属性即可,如下图所示:

但是我在配置好之后发现似乎并没有什么用,从服务器打开后里面并没有主服务器里面的东西,而且使用info replication 命令分别查看两台服务器信息发现 从服务器的master_link_status:down,主服务器的connected_slaves:0,所以先在配置文件中设置好redis的日志文件的名称以及路径(redis默认是没有log文件的,所以我们要设置才会有),如下图所示:

设置好日志文件后我们重新开启两台服务器的redis服务,然后在日志中查看报错信息发现原来是我们没有绑定好ip,没有在从服务器中设置要连接的主服务器中的密码。(这里不详细贴出我的日志报错信息了,因为每个人遇到的问题可能不同,但是我的方法绝对好用抠鼻 ),首先我们吧bind 的ip改为 0.0.0.0如下图所示:

然后在主服务其中设置下redis密码,这里我们使用   config get requirepass 查看下redis的密码,默认是空,所以我们使用  config set requirepass “yourpassword”这个命令进行密码的设置,如下图所示:

主服务器执行完设置密码操作后再执行其他命令可能会提示 NOAUTH Authentication required.此时我们只要 使用命令auth+yourpassword即可。
然后我们回过头来在从服务器中设置好要连接的主服务器的redis的密码即可,如下图所示:

然后将从服务器的redis配置文件redis.conf保存,重启服务。
接下来我们再次分别连接主从服务器的redis,执行redis-cli 命令,再使用 info replication 命令查看信息结果如下图所示:
主服务器会提示以及有一台从服务器连接:

从服务器会显示已经连接到主服务器上:

接下来在主服务器中设置几个key,再到从服务器中使用 keys * 命令进行查看,即可看到主服务器中的全部key(前面没有提到,这里提一下,我们需要保证redis从服务器配置文件中设置好只读 slave-read-only yes,(redis 默认设置就是只读)),不知不觉敲到了半夜一点多了,纯手工制作,希望可以帮助新人吧,嘻嘻~