前言做后端开发的童鞋肯定都知道Redis,这是一个性能非常不错的非关系型数据库,通常扮演缓存的角色来存在于项目当中。Redis的应用场景还是不少的,比如:缓存、排行榜、分布式会话、分布式锁、计数器、简单的消息队列等。对于它能当一个简单的消息队列这件事,我还是比较好奇的,所以最近就研究了一下,随手写下这篇文章来做个总结。先说结论:Redis的确可以充当消息队列,但是不推荐。发布/订阅(pub/sub
转载
2023-11-22 20:56:53
3阅读
发布/订阅模式Redis除了对消息队列提供支持外,还提供了一组命令用于支持发布/订阅模式。1)发布PUBLISH指令可用于发布一条消息,格式 PUBLISH channel message 返回值表示订阅了该消息的数量。2)订阅SUBSCRIBE指令用于接收一条消息,格式 SUBSCRIBE channel 可以看到使用SUBSCRIBE指令后进入了订阅模式,但没有接收到publish发送
转载
2024-06-26 22:08:35
46阅读
发布订阅模式的理解发布-订阅模式又叫观察者模式,定义:对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知。----《JavaScript设计模式与开发实践》一对多的关系中,一的是发布方,多的是订阅方,多的那方的对象向发布方发起订阅的动作,表明当发布方某些状态发生改变时,要求发布方向他们发送相应的信息。我们举个常见的例子,微信里面的公众号和关注公众号的人,公众号就
转载
2023-10-07 22:45:44
303阅读
世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。redis有两种订阅方式,subscribe与psubscribe,subscribe用于频道的订阅,psubscribe用于模式的订阅。频道的订阅即对频道的完全匹配;模式订阅其实是对频道的模糊匹配。 但是两者是由不同的数据结构存储的,具体内容如下: 上图是subpub_channels的数据结构 - 频道的数据
转载
2023-05-29 15:10:15
152阅读
Redis如何实现发布订阅功能 文章目录Redis如何实现发布订阅功能前言一、Redis发布订阅功能1. 发送消息2. 订阅某个频道3. 发布订阅的实现4. 总结 前言Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了
转载
2023-09-18 22:09:36
93阅读
文章目录一、简介二、实现 一、简介大家是不是很好奇,什么事订阅与发布,其实订阅预发布的应用场景在我们的显示生活中的应用是十分广泛的,举一个例子:我们在关注某一个公众号的后,公众号推送的消息我们是可以接受到的,但是如果我们没有关注该公众号,那么我们就接受不到消息。在redis中实现订阅与发布的大体流程如下:下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、
转载
2023-10-11 23:26:10
92阅读
有时在JS中需要定义特定的事件,这些事件可以传递自定义参数。此时可以采用发布/订阅模式。发布/订阅模式简单实现如下:<script type="text/javascript">
var pubsub = {};
(function($) {
$.topics = {};
// 发布或广播事件
$.publish = function (topic, args) {
转载
2023-06-09 14:42:59
126阅读
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。1 PSUBSCRIBE pattern [pattern ...]
订阅一个或多个符合给定模式的频道。
2 PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态
转载
2023-06-14 22:40:58
177阅读
1.简介Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:2.Redis 发布订阅命令PSUBSCRIBE pattern [pattern …] 订阅一个或多个符合给定模式的频道。PU
转载
2023-05-29 15:49:47
139阅读
引言发布订阅模型是redis的重要功能,它可以像网站动态一样,将消息发送到多个订阅者的主页里。一、常用命令二、消息格式消息是一个有三个元素的多块响应:如上图,发布者向 mysub 频道发送了一条消息,redis会返回当前订阅者数量。而订阅者这边,当第一次订阅时,响应块分为 3 行,第一行表示消息类型,subscribe :订阅成功 ;unsubscribe:表示取消订阅;message :表示这个
转载
2023-08-30 08:44:20
62阅读
简述Redis 还提供了一组命令可以让开发者实现“发布/订阅”(publish/subscribe)模式。“发布/订阅”模式同样可以实现进程间的消息传递,其原理是这样的:“发布/订阅”模式中包含两种角色,分别是发布者和订阅者。订阅者可以订阅一个或若干个频道(channel),而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都会收到此消息。发布者发布消息的命令是 PUBLISH,用法是 PU
转载
2023-07-07 14:16:12
158阅读
redis 发布订阅(pub/sub)是一种信息通信模式。发送者(pub)发送消息,订阅者(sub)接收消息。redis订阅频道(channel)需要先订阅频道,再向频道发送消息。redis 发布订阅的原理:通过 subscribe 命令订阅频道后,redis-server 中将维护一个字典,字典的键是频道名,值是一个链表,链表中保存了所有订阅了该频道的客户端(subscribe 命令就是将客户端
转载
2023-08-15 17:50:31
114阅读
前言Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。 Redis客户端可以订阅任意数量的频道!一、实现方式:①命令: 这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等。 ②发布订阅的实现: 1、订阅端:127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
转载
2023-07-08 13:24:50
93阅读
文章目录一.介绍二.客户端订阅频道示意图三.如何理解发布和订阅模式1.任务队列2.如何理解四.发布订阅模式分类1.一个发布者,多个订阅者2.多个发布者,一个订阅者3.多个发布者,多个订阅者五.命令行实现发布和订阅1.操作2.快速入门3.细节 一.介绍 发布,publish。订阅,subscribe。Redis客户端,可以订阅任意数量的频道。二.客户端订阅频道示意图简单的理解,只要消息发布者,将消
转载
2023-05-29 16:18:07
126阅读
消息的发布和订阅,第一想到的是Kafka、RabbitMQ、ActiveMQ等,但是实际上Redis也是有这个功能,这个功能在Redis中实现很简单,也比较粗暴。没有存储,没有各种订阅模式。只要订阅同一个渠道的订阅者就都可以收到发布到该渠道的信息。如果没有订阅者,消息也不会缓存起来,而是直接丢弃。在简单的功能、能够接受这种模式并且有补偿机制的业务中是可以考虑使用的。下面看一下这个到底是怎么玩的。订
转载
2023-05-30 15:51:44
86阅读
Redis 不但支持多种数据类型,能满足很多的业务场景,而且 Redis 还支持类似 Pub/Sub (发布与订阅) 这样的高级功能。如下图。 上图中用红色圈中的部分,就是关于 发布与订阅 相关的命令。如果想要在 Redis 中查看相关的命令可以使用 help 命令来进行查看,命令如下: 127.0.0.1:63
转载
2023-12-30 17:00:42
28阅读
一:命令简介 从redis手册上面可以看到,其实“发布、订阅”模式才区区6个命令,下面听我一一解说下哈~~~ 1. subscribe SUBSCRIBE channel [channel ...]
订阅给定的一个或多个频道的信息。 从上面的官方解释上来看,它的玩法有一点像现实生活中我们听收音机一个道理,要想听收音机,我们要做什么?肯定就是调频
转载
2023-07-11 17:18:30
79阅读
目录前言命令发布订阅的实现订阅端发送端PSUBSCRIBE 命令:订阅指定频道!PUBLISH 命令:发送消息至指定频道!PUNSUBSCRIBE命令:退订!SUBSCRIBE:订阅,同上一致。不细讲!UNSUBSCRIBE:退订,同上一致,不细讲!总结前言Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。Redis客户端可以订阅任意数量的
转载
2023-07-06 22:56:47
135阅读
为了实现客户端的通信,提供了频道的概念1.Redis发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。Redis发布订阅示意图图一:消息订阅者(client2 、 client5 和 client1)订阅频道 channel1: 图二:消息发布者发布消息到频道chan
转载
2023-07-10 22:15:17
123阅读
Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。订阅端:127.0.0.1:6379> SUBSCRIBE xie //订阅一个频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "xie"
3) (integer)
转载
2023-09-25 11:42:58
98阅读