前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《redis in action》redis发布订阅

《redis in action》redis发布订阅

作者头像
写一点笔记
发布2022-08-11 16:04:10
3240
发布2022-08-11 16:04:10
举报
文章被收录于专栏:程序员备忘录程序员备忘录

我们在学些rabbitmq中知道一个概念那就是发布和订阅,当然我们在解析eurak注册中心的时候也说过发布订阅。其实redis也提供了相关的功能。所以说redis还是非常强大的存在。咋今天主要就是翻译一下《redis in action》书中写的关于redis发布和订阅这块的内容。首先redis的发布订阅是基于信道的,也就是说发布和订阅其实都是基于信道,发布者将消息发送到信道,然后订阅者监听信道,获取得到消息。这块书中建议我们将发布订阅模型理解为广播站,监听一个信道的所有订阅者都可以获得消息。

在这段内容中,我们将研究发布订阅的一些操作命令,了解了这块的内容,之后第八章做一些事情了。

Redis中发布订阅相关的命令如下:

代码语言:javascript
复制
Subcriribe:订阅指定的信道
Unsubscribe:接触对已经订阅的信道,如果没有给定信道,那么就会解除所有链接的信道
Publish:将消息发送到指定的信道上
Psubscribe:根据正则表达式订阅信道上的消息
Punsubscribe:解除给定正则表达式的信道

Redis中的发布订阅是可以非常有用的,但是要主要的点也有两个,这两块有可能导致信息缺失。

第一点:在老版本的reids中,如果我们的redis中链接都正常,但是client-output-buffer-limit(客户端链接缓存限制)参数过大会导致redis奔溃,操作系统就会停止redis进程。但是在新版本已经不存在这个问题了,但是新版本会让信道连接不可用,主要的情况就是发布的消息太多,超过了上限的情况。这块将在第八章详细说明!

第二点:数据传输的可靠性,在网络链接中,不可避免的会产生连接中断的情况,典型的就是链接中断之后的重试,然后在重试的过程中信息已经发送到这个信道上了。那么即便您重新链接上了这个信道,那么也是无法收到消息的。

当然如果您打算使用redis做发布和订阅这件事,那您可能不可避免的会丢失一些消息。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档