发布订阅

Redis 发布订阅(publish/subscribe)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

命令

  • subscribe channel [channel…]:订阅一个或多个频道的信息
  • psubscribe pattern [pattern…]:订阅一个或多个符合规定模式的频道
  • publish channel message :将信息发送到指定频道
  • unsubscribe [channel[channel…]]:退订频道
  • punsubscribe [pattern[pattern…]]:退订所有给定模式的频道

应用场景

构建实时的消息系统,比如普通聊天、群聊等功能。

1、博客网站订阅,当作者发布就可以推送给粉丝

2、微信公众号模式

上述简单了解即可,一般消息不采用redis来实现。

Redis的发布订阅Pub/Sub的更多相关文章

  1. redis的发布订阅模式

    概要 redis的每个server实例都维护着一个保存服务器状态的redisServer结构 struct redisServer {     /* Pubsub */     // 字典,键为频道, ...

  2. StackExchange.Redis 使用-发布订阅 (二)

    使用Redis的发布订阅功能 redis另一个常见的用途是发布订阅功能 . 它非常的简单 ,当连接失败时 ConnectionMultiplexer 会自动重新进行订阅 . ISubscriber s ...

  3. Redis学习-发布/订阅

    Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redis 客户端可以订阅任意数量的频道. 常用命令 命令 描述 复杂度 返回 PSUBS ...

  4. .net core 使用Redis的发布订阅

    Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心.接下来介绍一下.net core 使用 ...

  5. redis的发布订阅模式pubsub

    前言 redis支持发布订阅模式,在这个实现中,发送者(发送信息的客户端)不是将信息直接发送给特定的接收者(接收信息的客户端),而是将信息发送给频道(channel),然后由频道将信息转发给所有对这个 ...

  6. java实现 redis的发布订阅(简单易懂)

    redis的应用场景实在太多了,现在介绍一下它的几大特性之一   发布订阅(pub/sub). 特性介绍: 什么是redis的发布订阅(pub/sub)?   Pub/Sub功能(means Publ ...

  7. Redis之发布订阅

    一 什么是发布订阅 发布订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知 Redis 发布订阅(pub/sub)是一种消息通信模式: ...

  8. Redis(七):Redis的发布订阅

    Redis的发布订阅导航目录: 是什么 命令 案例 是什么 进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 订阅/发布消息图 命令 案例 先订阅后发布后才能收到消息,1 ...

  9. (二)Redis 笔记——发布&订阅、事务、数据库操作

    1. Redis 发布订阅 1.1 概述 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下 ...

  10. python之上下文管理、redis的发布订阅、rabbitmq

    使用with打开文件的方式,是调用了上下文管理的功能 #打开文件的两种方法: f = open('a.txt','r') with open('a.txt','r') as f 实现使用with关闭s ...

随机推荐

  1. 小样本学习(Few shot learning)标准数据集(miniImageNet、tieredImageNet、Fewshot-CIFAR100)下载地址

    以下数据集均不可商用: https://mtl.yyliu.net/download/ Please note that the splits for miniImageNet follow Ravi ...

  2. AtCoder Beginner Contest 312

    AtCoder Beginner Contest 312 A - Chord (atcoder.jp) #include <bits/stdc++.h> #define endl '\n' ...

  3. 最新AI生成视频工具!效果不输快手可灵,CogVideoX下载介绍

    要说AI生成视频最火的项目,当属国产的快手可灵了,甚至比OpenAI的Sora还要火,前者还是个ppt,可灵已经在落地公测了,博主在前段时间申请试用通道的时候,竟然排到几十万人开外的位置,好在最后还是 ...

  4. Camera | 8.让rk3568支持前后置摄像头

    一.目标 本文主要目标是,支持前置摄像头0v5648.后置摄像头ov13850,以及移植过程遇到的一些小问题的解决. 1. 摄像头连接图 参考上图,摄像头详细信息如下: 2个摄像头均连接在I2C通道4 ...

  5. Game on Sum--组合数学--DP

    \(Codeforces-Round 767\) (Div. 2) F2. \(Game \ on \ Sum\) \(HERE\) 题意 \(QZS\) 和 \(HANGRY\) 玩游戏. 游戏共有 ...

  6. 使用Power Shell 拉取项目源代码

    使用 Power Shell 下载代码 工具:Power Shell(win10 自带) 新建源码的存放地址 1.使用 CD 命令进入文件夹 2.使用 git clone 命令拉取代码 git 命令: ...

  7. Windows 安装 OpenSSH

    使用命令行安装 安装 OpenSSH 服务端和客户端 在管理员终端下运行以下命令: # 检查 OpenSSH 可用性 Get-WindowsCapability -Online | Where-Obj ...

  8. JWT(JSON WEB TOKEN)是玩具吗

    JWT当然不是玩具,理解其设计意图,和适用场景自然会发现存在的就是有价值的 JWT: JSON Web Token 起源和定义 JWT(JSON Web Token)是由 IETF(Internet ...

  9. Instant exceeds minimum or maximum instant

    使用 Instant.now().plusSeconds("xxxxx")报错  Instant exceeds minimum or maximum instant原因是取值范围 ...

  10. [Panzura] identify user operations(copy, open, read ... ) in audit log

    应该属于sequence classificagtion 问题 https://monkeylearn.com/text-classification/ https://machinelearning ...