Redis——主从复制
-
是什么
主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 -
能干什么
读写分离,性能扩展
容灾快速恢复
-
怎么操作
拷贝多个redis.conf文件include(写绝对路径)
开启daemonize yes
Pid文件名字pidfile
指定端口port
Log文件名字
dump.rdb名字dbfilename
Appendonly 关掉或者换名字步骤:
(1)、创建/myredis文件夹
(2)、复制redis.conf配置文件到文件夹中
(3)、配置一主两从,创建三个配置文件
redis6379.conf
redis6380.conf
redis6381.conf
(4)、在三个配置文件中写入内容
include /myredis/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb新建redis6379.conf,填写以下内容 include /myredis/redis.conf pidfile /var/run/redis_6379.pid port 6379 dbfilename dump6379.rdb
新建redis6380.conf,填写以下内容 include /myredis/redis.conf pidfile /var/run/redis_6380.pid port 6380 dbfilename dump6380.rdb
新建redis6381.conf,填写以下内容 include /myredis/redis.conf pidfile /var/run/redis_6381.pid port 6381 dbfilename dump6381.rdb
(5)、启动三个redis服务
查看当前主机运行的状况
在从机上执行slaveof 主机ip 端口号
(6)、举例
主机shutdown后,从机不会上位
从机shutdown后,重新连上,设为主机的从机,主机在从机重连前的增加key也可以在从机中有复制。
三种方式:
一主二仆
薪火相传
反客为主
哨兵模式
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库
步骤:
(1)、调整为一主二仆模式,6379带着6380、6381
(2)、自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错
(3)、配置哨兵,填写内容
sentinel monitor mymaster 127.0.0.1 6379 1
其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量
(4)、启动哨兵
在myredis目录下 执行redis-sentinel /myredis/sentinel.conf
(5)、哪个从机会被选举为主机呢?根据优先级别:slave-priority (新版本 replica-priority 值越小优先级越高