Redis Pub/Sub 指南

Redis 不仅仅是一个数据库,还可以作为支持发布和订阅(Pub/Sub)操作的消息代理。本文将使用 Navicat for Redis 简要概述 Redis 的 Pub/Sub 功能。

关于发布或订阅消息范式

Pub/Sub 是一种模式,发送者(广播者)不能向特定接收者(订阅者)发送消息。相反,发布的消息以频道形式发送,并且发送者不知道有多少订阅者正在订阅这个频道。而订阅者可以订阅一个或多个频道,以便只接收他们感兴趣的消息。以这种方式对发布者和订阅者进行解构能提高可扩展性,并更容易管理复杂系统中的信息流。

Redis Pub/Sub 提供了一种轻量级、快速、可扩展的消息解决方案,可用于各种目的,例如实时通知,在微服务之间发送消息或在单个应用程序的不同部分之间进行通信。

Redis中的消息传递

Redis 采用最多一次消息传递系统。顾名思义,消息只会被传递一次。因此,一旦 Redis 服务器发送消息,就不会再次发送。如果订阅者无法接收消息(例如,由于错误或网络中断),则消息将永远丢失。就像在收音机上收听你最喜欢的节目一样,如果错过了,就没有机会再听到。如果你的应用程序需要更强的传递保证,你应该使用 Redis Streams。

此外,Pub/Sub 与键空间无关。这意味着在数据库 10 上发布的消息能被数据库 1 上的订阅者接收到。如果你需要范围界定,Redis 建议在頻道名加上前缀(即 prod_mychannel,test_mychannel)。

使用 Navicat for Redis 发布消息

在 Navicat for Redis(或Navicat Premium)中,我们可以通过主工具栏上的 Pub/Sub 按钮打开 Pub/Sub 画面。我们可以在那里使用“发布窗格”发布消息:

pub-sub_screen (106K)

在 Redis 中,频道不是由用户创建的。当发布第一条消息或客户端订阅时,频道会自动创建。为了演示,我们将使用同一个 Redis 服务器创建两个连接。每个连接将充当不同的客户端。第一个连接将订阅“test_channel”,而第二个连接将向同一频道发布消息。这样做,我们希望消息在发布后能立即传递给订阅者。

在 Navicat 中订阅频道,我们只需要点击“订阅”按钮即可。这将打开“订阅”对话框:

subscribe_dialog (117K)

在这里,我们将输入频道名称“test_channel”,然后点击“订阅”。对话框关闭后,频道将出现在“频道”列表中,并记录订阅操作:

channel_added (110K)

如果要在 Navicat 中发布消息,我们将在“频道”列表中选择一个频道(由于我们此时只有一个通道,因此是默认选项),然后在“消息”文本字段中输入消息,点击“发布”。此时,我们应该看到收到消息的通知:

message_received (75K)

总结

本文使用 Navicat for Redis 简要介绍了 Redis 的 Pub/Sub 功能。如果你有兴趣试用 Navicat for Redis,可以在 此处 下载。试用版具备完整功能,试用期为 14 天。

相关技术文章

开始使用 Redis

Navicat for Redis 功能介绍

Redis 数据类型

如何在 Redis 中处理键值

Redis Pub/Sub 指南

Redis 列表 | 概述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103947.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11特性详解

一、简介 在C11标准出来之前,一直是C98/03标准占引领地位,而C98/03标准是C98标准在2003年将存在的一些漏洞进行了修复,但并没有核心语法的改动。相比于C98/03,C11则带来了数量可观的变化,其中包含了约140个新特性&…

linux部署clickhouse(单机)

一、下载安装 1.1、下载地址 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站,免费提供Linux镜像下载服务,拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源,此外还提供域名解析DNS、…

支持向量机SVM原理

目录 支持向量机SVM原理 SVM原理 从线性分类器说起 SVM的目标是最大化分类间隔 转化为对偶问题求解 支持向量机SVM原理 【数之道】支持向量机SVM是什么,八分钟直觉理解其本质_哔哩哔哩_bilibili SVM是由Vapnik等人于1995年提出的,在之后的20多年里…

【数据结构OJ题】链表的回文结构

原题链接:https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId49&&tqId29370&rp1&ru/activity/oj&qru/ta/2016test/question-ranking 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 在做这道…

嵌入式Linux开发实操(十二):PWM接口开发

# 前言 使用pwm实现LED点灯,可以说是嵌入式系统的一个基本案例。那么嵌入式linux系统下又如何实现pwm点led灯呢? # PWM在嵌入式linux下的操作指令 实际使用效果如下,可以通过shell指令将开发板对应的LED灯点亮。 点亮3个LED,则分别使用pwm1、pwm2和pwm3。 # PWM引脚的硬…

React前端开发架构:构建现代响应式用户界面

在当今的Web应用开发中,React已经成为最受欢迎的前端框架之一。它的出色性能、灵活性和组件化开发模式,使得它成为构建现代响应式用户界面的理想选择。在这篇文章中,我们将探讨React前端开发架构的核心概念和最佳实践,以帮助您构建…

猜数游戏-Rust版

cargo new guessing_game 创建项目 输入任意内容,并打印出来 main.rs: use std::io; // 像String这些类型都在预先导入的prelude里,如果要使用的不在prelude里,则需要显式导入fn main() { println!("猜数"); println!("…

Spring 自动装配机制详解

文章目录 一、手动装配二、自动装配1. XML 方式2. 注解方式 一、手动装配 首先知道 Spring 装配是干了件啥事?我的理解,它就是用来解决 bean 之间依赖关系的一个手段。 比如说我这里有一个 People 类和一个 Dog 类,People 依赖 Dog&#xff…

11.redis持久化

1.redis持久化 Redis的所有数据都是保存在内存中,因此redis重启后数据就丢失了,所以需要不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);或者把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 …

基于微信小程序的物流管理系统3txar

在此基础上,结合现有物流管理体系的特点,运用新技术,构建了以 springboot为基础的物流信息化管理体系。首先,以需求为依据,对目前传统物流管理基础业务进行了较为详尽的了解和分析。根据需求分析结果进行了系统的设计&…

类的加载过程二:Linking

1、验证(Verify) 目的在于确保Class文件的字节流中包含信息符合当前虚拟机要求,保证被加载类的正确性,不会危害虚拟机自身安全。主要包括四种验证,文件格式验证,元数据验证,字节码验证&#xff…

无涯教程-PHP - XML GET

XML Get已用于从xml文件获取节点值。以下示例显示了如何从xml获取数据。 Note.xml 是xml文件&#xff0c;可以通过php文件访问。 <SUBJECT><COURSE>Android</COURSE><COUNTRY>India</COUNTRY><COMPANY>LearnFk</COMPANY><PRICE…

全流程R语言Meta分析核心技术

​Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面…

musl libc ldso 动态加载研究笔记:01

前言 musl 是一个轻量级的标准C库&#xff0c;建立在系统调用之上&#xff0c;可以认为是【用户态】的C 库&#xff0c;与 glibc 或者 uClibc 属于同一类。 基于 musl 的 gcc 工具链包括交叉编译工具链&#xff0c;可以用于编译 Linux 或者其他的操作系统&#xff0c;如当前 L…

08.SpringBoot请求相应

文章目录 1 请求1.1 Postman1.2 简单参数1.2.1 原始方式1.2.2 SpringBoot方式1.2.3 参数名不一致 1.3 实体参数1.3.1 简单实体对象1.3.2 复杂实体对象 1.4 数组集合参数1.4.1 数组1.4.2 集合 1.5 日期参数1.6 JSON参数1.7 路径参数 2 响应2.1 ResponseBody注解2.2 统一响应结果…

计算机终端核心安全配置规范

声明 本文是学习 政务计算机终端核心配置规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 范围 本标准提出了政务计算机终端核心配置的基本概念和要求&#xff0c;规定了核心配置的自动化实现方法&#xff0c;规范了核心配置实施流程。 本标准适…

1139. 最大的以 1 为边界的正方形;2087. 网格图中机器人回家的最小代价;1145. 二叉树着色游戏

1139. 最大的以 1 为边界的正方形 核心思想&#xff1a;枚举正方向的右下角坐标&#xff08;i&#xff0c;j&#xff09;&#xff0c;然后你只需要判断四条边的连续一的最小个数即可&#xff0c;这里是边求连续一的个数同时求解结果。 087. 网格图中机器人回家的最小代价 核心…

拼多多商品详情API接入站点,实时数据json格式示例

作为国内最大的电商平台之一&#xff0c;拼多多数据采集具有多个维度。 有人需要采集商品信息&#xff0c;包括品类、品牌、产品名、价格、销量等字段&#xff0c;以了解商品销售状况、热门商品属性&#xff0c;进行市场扩大和重要决策&#xff1b; 商品数据&#xff1a;拼…

stm32之16.外设定时器——TIM3

----------- 源码 void tim3_init(void) {NVIC_InitTypeDef NVIC_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;//使能TIM3的硬件时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//配置TIM3的定时时间TIM_TimeBaseStructure.TIM_Period 10000-1…