一、Redis的主从复制
概念:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slaver以读为主。
二、Redis主从复制的功能
1.读写分离
2.容灾恢复
三、如何配置
1.拷贝多个redis.conf文件
2.redis.conf拷贝复制
现在我们拷贝了三个redis实例,接下来要开启daemonize (yes)
将三个实例都按照以上方法改成对应的,名字和端口
3.启动三个实例
配从不配主
(1)一主二从
如果主机挂掉,那么从机只是等待
每次与master断开之后,都需要重新连接,那么怎么解决?直接配置到redis.conf文件。
(2)“挂载模式” (三台机器可以传递)
(3)如果主机挂掉那么如何解决?
SLAVEOF no one :使当前数据库停止与其他数据库同步,转成主数据库
问题又来了,如果故障出在,半夜怎么办?还有主机恢复了和其他两个机器又有什么关系?
(4)哨兵模式(生产)
能够后台监听故障,一但主机挂掉,立即投票自动将从机转为主机。
步骤:
步骤1:自定义的/myredis目录下新建sentinel.conf文件(名字不能错),用于配置哨兵模式,sentinel monitor 被监控数据库名字(自定义名字)127.0.0.1 6379 1 (1:投票数,表示主机挂掉后salve投票看让谁替换为主机,得票数多成为主机)
例如:sentinel monitor host6379 127.0.0.1 6379 1
步骤2:启动哨兵Redis-sentinel /myredis/sentinel.conf(根据实际情况配置,可能目录不同)
步骤3:将6379停掉,模拟主机挂掉,此时哨兵开始轮询投票
步骤4:查看主从机信息
* 一个哨兵模式可以监控多个主机,可以在文件中指定。
* 生产上主从复制可能会出现复制延迟,不可避免。