Redis7之发布订阅(七)最好别用

2023-11-11

7.1 介绍

  • 是一种消息通信模式:
    • 发送者(PUBLISH)发送消息
    • 订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递
  • Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流
  • 功能
    • Redis客户端可以订阅任意数量的频道,类似我们微信关注多个公众号
    • 在这里插入图片描述
    • 发布/订阅其实是一个轻量的队列,只不过数据不会被持久化,一般用来处理实时性较高的异步消息

在这里插入图片描述

7.2 基本操作

SUBSCRIBE channel [channel]   // 订阅多个频道
PUBLISH channel message       // 对一个频道发布信息
PSUBSCRIBE pattern [pattern...]  // 按照模式批量订阅,订阅一个或多个符合给定模式(支持*号?号之类的)的频道
PUSUB CHANNELS      // 由活跃频道组成的列表
PUSUB NUMSUB channel [channel...]   // 某个频道有几个订阅者
PUBSUB NUMPAT   // 只统计使用PUBSCRIBE 命令执行的,返回客户端订阅的唯一模式的数量
UNSUBSCRIBE channel [channel...]    // 取消订阅
PUNSUBSCRIBE pattern [pattern...]   // 退订所有给定模式的频道
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis7之发布订阅(七)最好别用 的相关文章

  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • 如何实现具有LinkedHashMap类似功能的ConcurrentHashMap?

    我用过LinkedHashMap with accessOrdertrue 并同时允许最多 500 个条目作为数据的 LRU 缓存 但由于可扩展性问题 我想转向一些线程安全的替代方案 ConcurrentHashMap在这方面似乎不错 但缺
  • 如何在Spring Boot中初始化一次MongoClient并使用它的方法?

    您好 我正在尝试导出MongoClient在 Spring Boot 中成功连接后 我尝试在其他文件中使用它 这样我就不必每次需要在 MongoDB 数据库中进行更改时都调用该连接 连接非常简单 但目标是将应用程序连接到我的数据库一次 然后
  • Glassfish:在部署期间修改 EAR 的部署描述符

    经过几天的搜索 尝试和摇头 我将这个问题发布到 SO 尽管它seems已经得到答复 这是场景 我有一个 EAR 应用程序 目前 包含一个 WAR 和一个 EJB 模块 EJB 模块使用 JPA persistence xml 并且一些无状态
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 如何为java注释处理器编写自动化单元测试?

    我正在尝试使用 java 注释处理器 我可以使用 JavaCompiler 编写集成测试 事实上我现在正在使用 hickory 我可以运行编译过程并分析输出 问题 即使我的注释处理器中没有任何代码 单个测试也会运行大约半秒 对于以 TDD
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • SwingWorker 在另一个 SwingWorker 的 did 方法中

    首先 我需要通知您 我正在尽最大努力学习如何用 Java 编写代码 虽然有点困难 但我相信我能做到 我过去提交了几个有关 SwingWorkers 等的问题 每一个我都以为我已经做到了 但后来发现我仍然需要学习 希望这一次不是那样的一次 话
  • 为什么下面代码的输出是Thread[main,5,main]

    public class test1 public static void main String args TODO Auto generated method stub Thread t Thread currentThread Sys
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 反应式 Spring Webflux REST 控制器内部重定向

    我正在为 spring 反应项目创建简单的控制器服务器 在设置重定向到另一个位置时 我在调用时发现错误http localhost 8080 There was an unexpected error type Internal Serve
  • 两条腿的 OAuth 和 Gmail Atom feed

    我们正在尝试让 2 legged OAuth 与 Gmail Atom feed 一起使用 我们使用 John Kristian Praveen Alavilli 和 Dirk Ba lfanz 贡献的 Java 库 http oauth
  • Java 中更高级的泛型

    假设我有以下课程 public class FixExpr Expr
  • ASTParser:解析绑定后查找声明节点

    我创建了一个启用了绑定的 AST 当我稍后解析绑定时 我得到了一个有效的 ITypeBinding 但是 当我想要获取绑定的声明 Node 时 它 总是返回 null 除非 ITypeBinding 在 sourceFile 中声明 这是我
  • Spring Transactional 减慢了整个过程

    我正在尝试分析我有两堂课的情况 其中一个类是 ProcessImpl 它是起点并在内部调用其他子事务 我不知道出了什么问题 processImpl正在导入一些东西并将相关数据写入数据库 Specs Spring orm版本 3 2 18 发
  • 错误:Redis 连接到 127.0.0.1:6379 失败 - 连接 ECONNREFUSED 127.0.0.1:6379

    我试图允许我的nodeJs docker 映像与我的redis docker 映像 Mac OS X 环境 之间进行通信 NodeJs Dockerfile FROM node 4 7 0 slim EXPOSE 8100 COPY nod
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException

随机推荐

  • 小程序打开另一个小程序、分享另一个小程序、分享后返回上一个小程序

    小程序是无法直接分享另一个小程序的链接给微信好友的 它只能分享自身的链接 但是我们可以通过另一种方法去实现这个功能 首先 我们在自己的小程序里面打开要分享的另一个小程序 然后 我们可以在打开的小程序里面分享它的链接给微信好友 最后 跳转回我
  • 关于烂代码的那些事(中)

    作者 秦迪 发布时间 2015 08 13 22 36 阅读 10350 次 推荐 32 原文链接 收藏 1 摘要 这是烂代码系列的第二篇 在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣 在发布了关于烂代码的那些事 上 之后
  • 【面试官】深入了解session和cookie的区别

    目录 一 什么是session和cookie 1 什么是session 2 cookie的组成 二 session和cookie工作流程 1 session的工作原理 2 cookie的工作流程 三 session和cookie的区别 一
  • Ubuntu下安装Anaconda

    使用python做文本处理最讨厌遇到的问题就是编码错误的问题 在linux环境下开发能较好的避开这个问题 Anaconda整合了常用的python科学计算包 避免再去安装各种包的麻烦 1 到官网http continuum io downl
  • oracle 存储过程中调用truncate命令。

    数据库版本 SQL gt select from v version BANNER Oracle Database 10g Enterprise Edition Release 10 1 0 2 0 ProdPL SQL Release 1
  • AirBuddy让您优雅的在 Mac 上使用 AirPods

    AirBuddy 是macOS系统上将iOS上的AirPods体验带到了Mac上 使用AirBuddy 您可以打开Mac旁边的AirPods外壳并立即查看状态 就像在iPhone或iPad上一样 Airbuddy for mac是一款功能高
  • 分享网页版免费聊天机器人

    GPT是一种基于深度学习技术的自然语言处理模型 全称为Generative Pre trained Transformer 它由团队开发 旨在利用神经网络生成人类能够理解的自然语言文本 分享网址 https shdily com 效果颜演示
  • vs2010 中使用 log4net

    vs2010 中使用 log4net 环境 vs2010 framework4 0 log4net 1 2 10 0 framework 2 0 参考 http www cnblogs com llhhll archive 2011 03
  • iOS端抓包工具-stream

    内容项 1 stream安装使用 2 stream功能解析 构建请求 host设置 抓包模式 stream安装使用 1 app store 搜索stream 点击下载 2 下载完成后进入app 点击 开始抓包 允许添加VPN配置 下载安装C
  • Python-单例模式详解与实现

    目录 单例模式 new 装饰器 元类 import 单例模式 这种类型的设计模式属于创建型模式 它提供了一种创建对象的最佳方式 这种模式涉及到一个单一的类 该类负责创建自己的对象 同时确保只有单个对象被创建 这个类提供了一种访问其唯一的对象
  • 电商交易数据分析-Tableau

    1 这是一份关于某电脑平台2016年的交易数据 通过分析这份数据 我们可以知道这一整年的销售情况 数据解读 id ID order id 订单ID user id 用户ID productId 产品ID cityId 城市的ID price
  • Ubuntu常用命令-基础

    Ubuntu 操作系统是基于 Linux 内核的开源操作系统 其命令行界面提供了大量的命令来管理系统和执行各种任务 以下是一些 Ubuntu 操作系统中常用的命令 cd 用于切换当前工作目录 例如 cd path to directory
  • cat EOF的追加与覆盖

    一 覆盖 bin bash cat lt lt EOF gt root test txt Hello My site is www 361way com My site is www 91it org Test for cat and EO
  • 张五常《思考方法》

    思考的方法 上 据说熊彼德 J A Schumpeter 曾在课堂上批评牛顿 指责这个如假包换的物理学天才只顾闭门思想 没有将他思考推理的方法公开而留诸后世 这批评有点道理 但牛顿在物理学上的丰功伟绩 是他在逃避瘟疫的两年中想出来的 其后就
  • Spring初识

    文章目录 Spring框架 一 Spring简介 一 Spring的介绍及需要的依赖 二 Spring的优点 二 Spring的组成及拓展 一 什么是Spring Boot 二 什么是Spring Cloud 三 IOC 控制反转 一 IO
  • vue 使用MD5加密

    概念 MD5是一种信息摘要算法 对称加密 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 用来确保信息传输完整一致性 它可以计算任意长度的输入字符串 得到固定长度的输出 而且这个算法是不可逆的 即使得到了加密的密文
  • tomcat的webapps下没项目的问题

    这几天在在写代码的时候一直都存在一个问题 就是把项目发布到comcat后在webapps下找不到项目 而work下面却有临时文件 浏览器也能正常访问 百度后网上的答案大都是 找到servers location 选择第二个 User tom
  • 压缩感知算法_深度学习压缩感知(DCS)历史最全资源汇总分享

    压缩感知 Compressed sensing 也被称为压缩采样 Compressive sampling 稀疏采样 Sparse sampling 压缩传感 它作为一个新的采样理论 它通过开发信号的稀疏特性 在远小于Nyquist 采样率
  • 解决 python execjs._exceptions.ProgramError

    return self eval identifier apply this args format identifier identifier args args File usr local lib python3 7 site pac
  • Redis7之发布订阅(七)最好别用

    7 1 介绍 是一种消息通信模式 发送者 PUBLISH 发送消息 订阅者 SUBSCRIBE 接收消息 可以实现进程间的消息传递 Redis可以实现消息中间件MQ的功能 通过发布订阅实现消息的引导和分流 功能 Redis客户端可以订阅任意