首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏从码农的全世界路过

    Redis pubsub

    系统channel订阅查询 pubsub channels 客户端2查询订阅通道 127.0.0.1:6379> pubsub channels 1) "topic1" 2) "topic2" 4. 查询每个通道的订阅数 pubsub numsub 127.0.0.1:6379> pubsub numsub topic1 topic2 1) "topic1" 2) (integer) 0 3) " 使用 psubscribe命令执行的订阅数 pubsub numpat 127.0.0.1:6379> pubsub numpat (integer) 1 7. 数据结构 subscribe命令普通订阅模式: 使用hash结构存储 server.pubsub_channels psubscribe命令正则订阅模式: 使用list结构存储 server.pubsub_patterns )) { ... } return receivers; } 3. pubsub 查询命令 在pubsub 查询子命令也是区分了不同通道的. void pubsubcommand

    52810编辑于 2022-06-20
  • 来自专栏码匠的流水账

    聊聊claudb的pubsub command

    序 本文主要研究一下claudb的pubsub command PublishCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/ command/pubsub/PublishCommand.java @Command("publish") @ParamLength(2) public class PublishCommand implements ), channel, message) SubscribeCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub addSubscription(channel) UnsubscribeCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub admin, sessionId, channel)及getSessionState(request.getSession()).removeSubscription(channel) 小结 claudb pubsub

    41020发布于 2020-09-04
  • 来自专栏代码洁癖患者

    Redis命令详解:PubSub

    PUBSUB 最早可用版本:2.8.0 时间复杂度:O(N),N是活跃的频道数 该命令用于检查Pub/Sub子系统的状态。 PUBSUB CHANNELS [pattern] 列出当前活跃的频道(至少有一个订阅者)。不过不指定pattern,则列出全部频道。 PUBSUB NUMSUB [channel-1 ... channel-N] 返回指定频道的订阅者。 PUBSUB NUMPAT 返回指定模式的订阅数(使用PSUBSCRIBE命令执行) PUNSUBSCRIBE 最早可用版本:2.0.0 时间复杂度:O(N+M),N是匹配规则的客户端已经订阅的数量,

    97020发布于 2020-03-11
  • 来自专栏飞鸟的专栏

    React消息订阅与发布pubsub

    PubSub模式概述PubSub模式(也称为观察者模式或事件订阅模式)是一种软件设计模式,它通过解耦发送者和接收者之间的关系,实现了一对多的通信方式。 在React中,PubSub模式可以帮助组件之间进行松耦合的通信,避免直接引用和依赖其他组件。PubSub模式中有两个核心概念:发布者(Publisher):负责发布消息的组件或实体。 PubSub模式的实现在React中,可以使用第三方库来实现PubSub模式,例如pubsub-js。pubsub-js提供了一个简单且强大的API,用于在React组件之间进行消息订阅与发布。 以下是在React中使用pubsub-js实现PubSub模式的一般步骤:安装pubsub-js库:使用npm或yarn等包管理工具安装pubsub-js库。 现在,让我们通过一个示例来演示在React中使用pubsub-js实现PubSub模式的过程。

    1.5K20编辑于 2023-05-20
  • 来自专栏码农UP2U

    Redis | Redis PubSub相关命令

    如果想要在 Redis 中查看相关的命令可以使用 help 命令来进行查看,命令如下: 127.0.0.1:6379> help @pubsub 按下回车后,可以看到 发布与订阅 相关命令的说明 4、pubsub 该命令的作用是:查看关于频道相关的信息。 " numsub:查看指定频道的订阅数量,命令如下: 127.0.0.1:6379> pubsub numsub news.dt 1) "news.dt" 2) (integer) 1 127.0.0.1 :6379> pubsub numsub news.it 1) "news.it" 2) (integer) 1 127.0.0.1:6379> pubsub numsub news.health 1) "news.health" 2) (integer) 2 numpat:查看通过模式进行订阅的数量,命令如下: 127.0.0.1:6379> pubsub numpat (integer) 3 总结

    1.5K30发布于 2020-09-29
  • 来自专栏兰舟千帆的java学习笔记

    RabbitMQ PubSub(发布订阅)模式

    java.io.IOException; import java.util.concurrent.TimeoutException; //完成发送消息 public class Producer_PubSub ; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Consumer_PubSub1 ; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Consumer_PubSub2

    79910编辑于 2022-08-03
  • 来自专栏blog(为什么会重名,真的醉了)

    Redis-发布订阅(PubSub)

    应用 订阅关注 实时消息系统 聊天室 图片摘自《Redis 设计与实现》,侵删https://redisbook.readthedocs.io/en/latest/feature/pubsub.html pubsub subcommand [argument [argument …]] 查看订阅与发布系统状态 psubscribe pattern [pattern …] 订阅符合模式的频道 punsubscribe

    99310发布于 2020-09-15
  • 来自专栏码匠的流水账

    聊聊claudb的pubsub command

    序 本文主要研究一下claudb的pubsub command OIP (41).jpeg PublishCommand claudb-1.7.1/src/main/java/com/github/tonivade /claudb/command/pubsub/PublishCommand.java @Command("publish") @ParamLength(2) public class PublishCommand ), channel, message) SubscribeCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub addSubscription(channel) UnsubscribeCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub admin, sessionId, channel)及getSessionState(request.getSession()).removeSubscription(channel) 小结 claudb pubsub

    54523发布于 2020-08-29
  • 来自专栏IMWeb前端团队

    前端PubSub模式简单实现

    PubSub是一种设计模式,中文叫发布订阅模式,简单来说就是消息发布者不直接向订阅者发布消息,而是发布到中介,而中介根据不同主题对消息进行过滤,并通知对该主题感兴趣的订阅者。 一个PubSub模型主要方法有3个,订阅,退订,发布,下面尝试在前端实现一个最简单的PubSub模块。 var PubSub = {}; // 用于储存事件队列 var queue = {}; // 订阅接口 PubSub.on = function(event, cb) { if (! PubSub.off('a', callbackA); // 发布 PubSub.emit('a'); PubSub.emit('b'); 当然,重复发明轮子的事情还是不要做了,前端目前已经有比较成熟的 PubSub库,其中用的最多的应该eventemitter2,感兴趣的同学可以去了解下。

    967100发布于 2017-12-29
  • 来自专栏IMWeb前端团队

    前端PubSub模式简单实现

    一个PubSub模型主要方法有3个,订阅,退订,发布,下面尝试在前端实现一个最简单的PubSub模块。 var PubSub = {}; // 用于储存事件队列 var queue = {}; // 订阅接口 PubSub.on = function(event, cb) { if (! queue[event]) { queue[event] = []; } queue[event].push(cb); }; // 退订接口 PubSub.off = function PubSub.off('a', callbackA); // 发布 PubSub.emit('a'); PubSub.emit('b'); 当然,重复发明轮子的事情还是不要做了,前端目前已经有比较成熟的 PubSub库,其中用的最多的应该eventemitter2,感兴趣的同学可以去了解下。

    80920发布于 2019-12-04
  • 来自专栏扎心了老铁

    redis的发布订阅模式pubsub

    ): def __init__(self, redis_config): Pubsub. __init__(self, redis_config=redis_config) self.pubsub = self.redis.pubsub() def subscribe (self, *channel): self.pubsub.subscribe(*channel) def psubscribe(self, *channel_pattern) : self.pubsub.psubscribe(*channel_pattern) def listen(self): for item in self.pubsub.listen Publisher(Pubsub): def __init__(self, redis_config): Pubsub.

    1.7K70发布于 2018-03-05
  • 来自专栏西安-晁州

    redis中的发布订阅(PubSub)

    2K00发布于 2017-12-26
  • 来自专栏数字化之路

    深入理解Redis的PubSub模式

    为了支持多播,Redis不再依赖那5种基本类型了,它单独使用了一个模块来支持消息多播,这个模块的名字叫做PubSub,也就是PublisherSubscriber(发布者/订阅者模式)。 在写demo之前,咱们再来多看一眼Redis PubSub模块的缺点: 1、没有消息存储。 Redis只会把消息投递给当前正在的订阅的Subscriber。 如果没有消费者,此条消息就丢弃。 PubSub的生产者传递过来一条消息,Redis会直接找到相应的消费者传递过去。如果一个消费者都没有,那么消息会被直接丢弃。 如果Redis停机重启,PubSub的消息是不会持久化的,毕竟Redis的宕机就相当于一个Subscriber都没有,所有的消息会被直接丢弃。 同一台JVM进程中,Redis PubSub的生产者和消费者在不同的线程中支持,也就是使用了不同的连接。因为Redis不允许连接在subscribe等待消息时还需要进行其它操作。

    2.9K30编辑于 2023-11-07
  • 来自专栏云架构

    Redis高级特性之PubSub与Stream

    在Stream之前,Redis PUB/SUB亦可可实现消息的传递及广播,但消息不支持持久化,不记录消费端状态,并且“Fire and Forgot”,可靠性无法保证。

    4.4K20发布于 2019-07-03
  • 来自专栏huofo's blog

    不使用 MQ 如何实现 pubsub 场景?

    在配置中心中,有一个经典的 pub/sub 场景:某个配置项发生变更之后,需要实时的同步到各个服务端节点,同时推送给客户端集群。

    98730编辑于 2022-03-18
  • 来自专栏呼延

    Redis系列(十七)独立功能之pubsub

    PUBSUB. 介绍 PUBSUB, 即:publisher/subscriber. 发布与订阅的意思。 PUBSUB PUBSUB subcommand [argument [argument …]] subscommand 支持一下命令: CHANNELS: PUBSUB CHANNELS [pattern 应用场景 如果说在 Redis5.0 之前,pubsub 模块尚且算是有点用的话,那么现在我个人觉得已经可以完全放弃 pubsub 了。 pubsub 模块最大的缺点就是它不支持消息的持久化,也就是说,必须双方同时在线,这在业务系统中是很难绝对保证的。 PubSub 的生产者传递过来一个消息,Redis 会直接找到相应的消费者传递过去。 因为 PubSub 有这个缺点,它几乎找不到合适的大规模落地场景。 当然,也不是全然可以不用学习和了解。比如在前面介绍分布式锁的文章中,Redisson的分布式锁实现中,就应用了 pubsub.

    2K20发布于 2020-12-23
  • 来自专栏猫头虎博客专区

    :Redis 中 PubSub 模式的原理详解和应用

    import redis client = redis.StrictRedis(host='localhost', port=6379, decode_responses=True) # 创建 PubSub 对象 pubsub = client.pubsub() # 订阅频道 pubsub.subscribe('notifications') # 接收消息 for message in pubsub.listen

    36500编辑于 2025-06-01
  • 来自专栏深度学习与python

    Pinterest 开源通用 PubSub 客户端库 PSC

    作者 | Rafal Gancarz 译者 | 明知山 策划 | 丁晓昀 Pinterest 开源了其通用的 PubSub 客户端库 PSC,该库已在生产环境中使用了一年半。 Pinterest 软件工程师 Jeff Xiang 总结了使用多种消息传递后端所带来的一些挑战: 多年的运营经验告诉我们,平台团队拥有和维护统一的 PubSub 接口可以让我们的客户和业务从中极大地受益 Pinterest 开发了一个通用的 PubSub 客户端库,与原生客户端库相比,它提供了统一的抽象和增强的功能。PSC 支持自动服务发现、优化配置、自动错误处理、拦截器、指标和优化配置。 PubSub 客户端架构(来源:PSC GitHub 代码库) 该库引入 Resource Name(RN)来支持消息传递主题的自动服务发现。 PubSub 客户端提供了与原生客户端 100% 相同的 API,Pinterest 因此可以将 90% 以上的 Java 应用程序迁移到 PSC,对代码库所作的更改非常小。

    36410编辑于 2024-03-18
  • 来自专栏圆方圆学院精选

    【董天一】IPFS: pubsub功能的使用

    pubsub功能目前还属于ipfs的一个实验性质的功能,如果要开启pubsub功能,在启动ipfs daempon的时候需要指定参数: --enable-pubsub-experiment。 (注意这里需要使用参数 --enable-pubsub-experiment) 5 pubsub功能使用 5.1 在A节点上新开一个命令行,执行 ipfs pubsub sub flytofuture 两个跨越了不同网络,不同地域的IPFS节点进行pubsub功能的通信。 实际上,pubsub功能不仅仅之只限于两个直连的节点之间,还可以通过中间节点进行中转。 pubsub相关的命令使用和功能 pubsub相关的命令使用: ipfs pubsub ls -- 列出来本节点订阅的全部主题 ipfs pubsub peers -- 列出来与本节点相连接的开通pubsub 功能的节点 ipfs pubsub pub -- 发布数据到相应的主题 ipfs pubsub sub -- 订阅主题 pubsub功能有很多用途,广大开发者可以开脑洞基于这样的功能构建出来自己的应用。

    1.4K10发布于 2018-11-12
  • 来自专栏Nicky's blog

    如何确保Redis PubSub模式的数据安全?

    client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds> class:客户端类型,可以是 normal(普通客户端)、slave(从节点客户端)、pubsub 参数配置 可以在Redis的redis.conf配置 client-output-buffer-limit pubsub 32mb 8mb 60 #当缓冲区数据达到硬限制32M时,连接会关闭;当缓冲区数据达到软限制每 60秒8M时,连接也会关闭 client-output-buffer-limit pubsub 0 0 0 #将hard limit和soft limit同时置0,表示关闭该限制。 动态调整客户端的输出缓冲区限制,可以通过 CONFIG SET 命令来修改,可以直接在redis-cli执行命令: 127.0.0.1:0>CONFIG SET client-output-buffer-limit 'pubsub client-output-buffer-limit 1) "client-output-buffer-limit" 2) "normal 0 0 0 slave 268435456 67108864 60 pubsub

    70910编辑于 2024-12-23
领券