Redis 发布订阅
什么是Redis发布订阅:进程间的一种消息互通模式,发送者(pub)发送消息,订阅者(sub)接收消息
Redis 主从复制(master/slave)
是什么:也就是我们说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slave机制,master以写为主,slave以读为主。
可以做:读写分离,容灾恢复
怎么用:1.配从(库)不配主(库)
2.slaveof 主库IP 主库端口
注:每次master断开都要重新连接一次,除非你配置进去redis.conf。
常用的几招:
1.一主二仆:一个主机,两个从机。
2.薪火相传:上一个slave可以是下一个slave的master,slave同样可以接收其他slave的连接和同步请求,name该slave作为了链条中的下一个master,可以有效地减轻master的写的压力。如果中途变更转向,会清除之前的数据,重新拷贝最新的
slaveof 新主库IP 新主库端口
3.反客为主:当前数据库停止与其他数据库同步,转成主数据库(saveof no one)
复制原理:slave启动成功会向master发送一个sync的命令,master接到命令,启动后台的存盘进程,同时收集所有接收到的用于用于修改数据集的命令,在后台进程执行完毕后,master将传送整个数据文件到slave,完成一次完全同步。
全量复制:而slave服务在接收到数据库数据文件后,将其存盘加载到内存中
增量复制:master继续将新的所有收集到的修改命令一次传给slave,完成同步,但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。
哨兵模式:监控
怎么使用:目前是一主端口是:6379,二仆端口号是:6380,6381。在redis文件夹下自定义sentinal.conf文件,名字绝不可以错,之后填写配置文件内容:sential monitor 被监控数据库名字(自己起名字)127.0.0.1 1,最后的数字1表示主机挂掉后,slave投票看让谁接替成为主机,得票数多少后成为主机。
启动哨兵:Redis-sential /路径/配置文件
如果原有的master挂了,就重新投票选一个master,这时候如果原来的master回来了,它会变成slave
一组sentinel可以监控多个master
主从复制的缺点会延迟复制