一、环境配置
以一主二从为例进行搭建
先要复制出三个redis配置文件
cp redis.conf redis79.conf
cp redis.conf redis80.conf
cp redis.conf redis81.conf
然后编辑每一个配置文件,已redis6379.conf为例 需要修改的内容为:
1、port 6379
2、daemonize yes
3、pidfile /var/run/redis_6379.pid
4、logfile "6379.log"
5、dbfilename dump6379.rdb
修改完毕后以每一个配置文件启动redis,然后查看结果
三台redis已启动成功
info replication:查看当前库信息
二、一主二从
不需要在主机上进行操作,在另外两个从机上进行配置
分别在80与81端口上配置
SLAVEOF 127.0.0.1 6379 表示将本机的6379端口号的redis认作主机
若主机断开,则可以使用 SLAVEOF no one 使自己变为主机,其他节点就可以手动的连接这个最新的主机;若此时之前的主机又重新恢复,则它不再有从机,需要重新配置
特点:
1、只有主机可以进行写的操作,从机只能进行读的操作
2、主机宕机,从机依然还是从机,还是可以读取主机的数据,当主机恢复,进行新的set,从机依然可以得到值
3、当从机宕机,再恢复,它会自动取消掉从机的配置,变成单独的主机,所以不能拿到之前主机中的值,当重新配置后,便可以拿到之前的值
三、哨兵模式
我们需要在重新开启一个redis进程来当做哨兵来监视其他的进程,所以还是需要编写一个哨兵的配置文件
vim sentinel.conf
编写:
sentinel monitor myredis 127.0.0.1 6379 1
myredis表示哨兵的名称,127.0.0.1 6379 表示监视哪台主机 1代表集群中有1个哨兵认为主机宕机就进行投票
启动哨兵模式
在redis启动目录中输入 redis-sentinel redisconfig/sentinel.conf 即可启动哨兵模式
特点
1、若监控的主机发生了宕机,那么哨兵就会从主机下的若干从机中选取一个来作为新的主机
2、若此时原来的主机又重新恢复,那么它会归属于新的主机,作为它的从机