首页 > 数据库 >Redis-独立功能-发布与订阅

Redis-独立功能-发布与订阅

时间:2023-01-12 16:57:42浏览次数:45  
标签:订阅 功能 Redis 频道 链表 pubsub 客户端

发布与订阅

Redis的发布与订阅功能由PUBLISH、SUBSCRIBE、PSUBSCRIBE等命令组成。

通过执行SUBSCRIBE命令,客户端可以订阅一个或多个频道,从而成为这些频道的订阅者(subscriber):每当有其他客户端向被订阅的频道发送消息(message)时,频道的所有订阅者都会收到这条消息。

除了订阅频道之外,客户端还可以通过执行PSUBSCRIBE命令订阅一个或多个模式,从而成为这些模式的订阅者:每当有其他客户端向某个频道发送消息时,消息不仅会被发送给这个频道的所有订阅者,它还会被发送给所有与这个频道相匹配的模式的订阅者。

频道的订阅与退订

Redis将所有频道的订阅关系都保存在服务器状态的pubsub_channels字典里面,这个字典的键是某个被订阅的频道,而键的值则是一个链表,链表里面记录了所有订阅这个频道的客户端。

服务器将所有模式的订阅关系都保存在服务器状态的pubsub_patterns属性里面,pubsub_patterns属性是一个链表,链表中的每个节点都包含着一个pubsub Pattern结构,这个结构的pattern属性记录了被订阅的模式,而client属性则记录了订阅模式的客户端。

 

标签:订阅,功能,Redis,频道,链表,pubsub,客户端
From: https://www.cnblogs.com/gcr277/p/17047086.html

相关文章

  • 【一句话】Redis的3中缓存策略
    首先一句话:旁路缓存模式策略:写->写DB,删缓存,读->读cache,没有则读DB,然后更新到缓存读写穿透策略:写->写缓存,然后由缓存系统写DB,读->读cache,没有则将DB写入cache,再读cache异......
  • maya工作常用功能笔记
    maya工作常用功能笔记1.去除命名空间设置2.贴图替换重新指认路径......
  • Redis-多机数据库-集群
    集群Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。Redis服务器在启动时会根据cluster-enabled配置选项是否为y......
  • redis命令清理key
    ###手动清除单个key:redis-cli-h'ipaddr'-p6379-a'passwd'-n0keys'keyName'|xargsredis-cli-h'ipaddr'-p6379-a'passwd'-n0del;或者手动清除单个k......
  • RedisUtil以及可放入Map和List格式的配置
    RedisUtilpackagecom.diit.onemap.common.utils;importorg.springframework.data.redis.core.*;importorg.springframework.stereotype.Service;importjavax.ann......
  • redis 中的 set
    set是String中的无序集合 底层是是value为null的hash表 时间复杂化是o(1);sadd k1v1v2v3 set中添加数据smembersk1取出set中全部的数据sismemberk1v1 ......
  • Redis安装使用
    在开发网页的时候我们难免要发送短信做页面判断Redis就是一个外置存储仓库使用安装Redis安装百度云链接:https://pan.baidu.com/s/1Mvfaxw3J5SOg39V0aZOrHA提取码:n7......
  • c# .net开发 wpf框架,开发聊天、网盘、信息发布、视频播放功能
    工作之余,开发了一个小程序,网页端用vue.js框架,桌面端wpf,后台.net,集成identityserver4认证授权。前端wpf .net6框架后端.net6,微服务架构认证授权:identityserver4用......
  • SpringBoot系列之Redis实现消息队列
    1前言本教程主要讲解的是如何在SpringBoot中用Redis实现消息队列。学习本教程的前提知识点是有SpringBoot、Redis、消息队列等基础。所以默认各位大佬已经掌握以上知识点。......
  • MQTT 发布/订阅模式介绍
    MQTT发布/订阅模式发布订阅模式(Publish-SubscribePattern)是一种消息传递模式,它将发送消息的客户端(发布者)与接收消息的客户端(订阅者)解耦,使得两者不需要建立直接的联系也不......