redis学习4——消息订阅/主从复制

redis的发布订阅:

进程间的一种消息通信模式:发送者pub发送消息,订阅者sub接受消息

命令:
先订阅后发布后才能收到消息

  • 可以一次性订阅多个 subscribe c1 c2 c3
  • 消息发布,publish c2 hello-redis
  • 订阅多个 通配符* psubscribe new*
  • 收取消息 publish new1 redis2015

Redis的复制(即 主从复制)

1. 是什么?

主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

2. 能干嘛?
  • 读写分离
  • 容灾备份
3. 如何使用

1.、配从 不配主
2、 从库配置:slaveof 主库IP 主库端口
3、修改配置文件细节操作
- 拷贝多个redis.conf文件
- 开启daemonize yes
- Pid文件名字
- 指定端口
- Log文件名字
- Dump.rdb名字
4、 常用主从复制的三种
- 一主二仆 :一 master ,两个slave,master 挂了,slave 依旧原地等待,直到master修复
- 薪火相传:一个master一个salve,前一个slave作为下个slave的master ,类似火车车厢。
- 反客为主:一master挂多slave,master挂了之后,选择其中一个slave 设置 slaveof no one,该 slave会变成master。然后将其他的slave重新设置到新的master。

复制原理
  • slave 启动成功连接到master后会发送一个sync命令
  • Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,master将传送整个数据文件到slave,以完成一次完全同步。
  • 全量复制:slave服务在接收到数据库文件数据后,将其存盘并加载到内存中
  • 增量复制:Master继续将新的所有收集到的修改命令依次传递给slave,完成同步
  • 但是只要是重新连接master,依次完全同步将被自动执行
哨兵模式

反客为主的自动版
有个monitor在后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。
使用步骤:

在这里插入图片描述

启动哨兵的过程:

  1. touch sentinel.conf 创建新文件,sentinet.conf 名字不能错。
  2. 编辑sentinel.conf文件
    sentinel monitor 数据库名字 127.0.0.1 6379 1 表示如果主机死了,剩下的从机谁投票超过1票以上谁当主机
  3. 启动sentinel :redis-sentinel /myredis/sentinel.conf
    一组sentinel可以监控多个master
复制的缺点

由于所有的写都在master上面,然后同步更新到slave,所以从master同步到slave机器都有一定的延时,当系统很繁忙的时候,延迟问题会更加严重,slave机器数据增加也会使得这个问题更加严重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值