Redis进阶之发布订阅

Redis入门(三)--- 可视化工具,发布订阅,事务管理,持久化RDB,AOF基本概念 文章目录[拓展]、Redis可视化工具7、Redis发布订阅7.1 发布和订阅7.2 命令行实现8、Redis事务管理8.1 Redis事务的定义8.2 Multi、Exec、discard8.2.1 事务对错误的处理8.3 锁机制8.3.1 悲观锁8.3.2 乐观锁8.3.3 如何加锁8.4 Redis秒杀案例8.4.1 秒杀并发模拟8.4.2 超卖问题问题:解决:8.4.3 少买问题原因:解决:9、Redis持久化9.1 RDB方式9.1.1 RDB是什么?9.1.2 备份如何执行9.1.3 dump. 阅读详情

Redis发布订阅

Reids发布订阅(pub/sub)是一种消息通信模式:发送者pub发送消息,订阅者sub接收消息。微信,微博,关注系统!Redis客户端可以订阅任意舒朗的频道
订阅/发布消息图
第一个:消息发送者,第二个:频道,第三个:消息订阅者
在这里插入图片描述
下图展示了频道channel1,以及订阅这个频道的三个客户端–client1,client2,client5之间的关系
在这里插入图片描述
当有新消息通过PUBLISH命令发送给channel1时,这个消息就会被发送给订阅他的三个客户端。
在这里插入图片描述
在这里插入图片描述

测试

#订阅者
127.0.0.1:6379> SUBSCRIBE smallcosmos   #订阅一个频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "smallcosmos"
3) (integer) 1
1) "message"     #消息
2) "smallcosmos"  #哪个频道
3) "hello,smallcosmos"  #消息的具体内容
1) "message"
2) "smallcosmos"
3) "hello,redis"

#发布者
127.0.0.1:6379> PUBLISH smallcosmos "hello,smallcosmos"  #发布者发布消息到频道
(integer) 1
127.0.0.1:6379> PUBLISH smallcosmos "hello,redis"
(integer) 1


jedis测试

package cn.smallcosmos;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;

/**
 * @Date 2020/5/15 上午11:15
 * @Created by zhaoli
 */
public class pubsub {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        Jedis jedis2 = new Jedis("127.0.0.1",6379);
        new Thread(new Runnable() {
            @Override
            public void run() {
                int count = 0;
                while (true){
                    jedis.publish("smallcosmos","hello,pubsub"+count++);
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

            }
        }).start();
        new Thread(new Runnable() {
            @Override
            public void run() {

                jedis2.subscribe(new JedisPubSub() {
                    @Override
                    public void onMessage(String channel, String message) {
                        System.out.println("onMessage"+"---"+channel + ":" + message);
                    }
                },"smallcosmos");
            }
        }).start();
    }
}

使用场景:
1、实时消息系统
2、实时聊天系统
3、订阅关注系统

Redis 进阶篇:发布订阅模式原理与运用 Redis 发布订阅(Pus/Sub)是一种消息通信模式:发送者通过PUBLISH发布消息,订阅者通过SUBSCRIBE订阅接收消息或通过取消订阅。主要包含三个部分组成:「发布者」、「订阅者」、「Channel」。发布者和订阅者属于客户端,Channel 是 Redis 服务端,发布者将消息发布到频道,订阅这个频道的订阅者则收到消息。如下图所示,三个「订阅者」订阅「ChannelA」频道::订阅一个或者多个频道;退订指定频道;向指定频道发送消息;订阅指定模式;退订指定模式。 阅读详情

相关推荐

Redis进阶:管道、事务与发布订阅

Pipeline是Redis性能优化第一手段,把N次网络往返压成1次。事务配合WATCH能实现乐观锁,但Redis事务不支持回滚。Pub/Sub适合实时广播,不保证消息到达,需要可靠消息用Stream。下一篇讲Redis缓存策略,深入缓存穿透、击穿、雪崩三种经典问题的解决方案。

白话机器学习 237

三.Redis 的发布和订阅

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

java领域分享 6753

Redis进阶(发布订阅,PipeLine,持久化,内存淘汰)

Redis进阶(发布订阅,PipeLine,持久化,内存淘汰) 1 发布订阅 1.1 什么是发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息并且可以订阅任意数量的频道。 发布订阅(Pub/Sub):目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者------是

weixin_40055163的博客 169

Redis 中的发布/订阅功能

发布/ 订阅系统 是 Web 系统中比较常用的一个功能。简单点说就是 发布者发布消息,订阅者接受消息,这有点类似于我们的报纸/ 杂志社之类的: 虽然可以使用一个 list 列表结构结合 lpush 和 rpop 来实现消息队列的功能,但是似乎很难实现实现 消息多播 的功能: 为了支持消息多播,Redis 不能再依赖于那 5 种基础的数据结构了,它单独使用了一个模块来支持消息多播,这个模块就是 PubSub,也就是 PublisherSubscriber (发布者/ 订阅者模式)。 PubSub 简介 我

IT瘾君子的博客 1万+

从软体机器人到鞋垫分析:Abaqus超弹性材料(Ogden模型)仿真配置全流程

本文详细介绍了Abaqus中Ogden模型在超弹性材料仿真中的应用全流程,涵盖从实验数据导入、参数拟合到模型构建与求解优化的关键步骤。特别针对鞋垫分析等生物力学场景,提供了单元选择、接触设置和并行计算等实用技巧,帮助工程师实现高精度仿真分析。

weixin_42525385的博客 400

通过CRC32爆破修改图片的宽高 ctf-misc图片隐写

** 一.在处理图片隐写题的时候,可能会修改图片原有的宽高,导致图片里面的内容无法正常显示,那么怎么判断它的宽高是否被修改了呢? ** 1.把图片拖进010editor中会发现左下角提示CRC不匹配,这是因为修改了高宽,却没有修改CRC,导致读取报错。 2.在linux中CRC32错误的图片是无法打开的,也可以利用pngcheck检查图片,会提示CRC32校验错误 ** 二.既然知道了CRC校验码错误,那么如何修改呢? 首先我们要知道CRC32是有哪些字节构成的 ** PNG文件中总是以固定的八个字节开

weixin_44145452的博客 1万+

Redis(十一)基于redis的发布订阅实现

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。 Redis发布订阅功能 (1)发送消息 Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。 (2)订阅某个频道 Redis采用SUB

camellia的博客 396

对称加密中GCM和CBC俩种加密模式的区别

**CBC(Cipher Block Chaining)** 和 **GCM(Galois/Counter Mode)** 是两种常见的对称加密模式。它们的主要区别体现在加密方式、性能和安全性上。

闲人 1109

Redis的消息订阅/发布 Utils工具类

package cn.cicoding.utils; import org.json.JSONException; import org.json.JSONObject; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConf...

筱进GG 690

通讯软件002——快速使用modscan进行modbus调试

快速使用modscan进行modbus调试

zhouwl72的博客 1032

Spring WebFlux响应式编程实战(三):优雅处理异常与高效调试技巧

本文深入探讨了Spring WebFlux响应式编程中的异常处理与调试技巧。文章通过电商订单流处理场景,详细解析了Reactor核心操作符onErrorReturn、onErrorResume和onErrorMap的实战应用,并介绍了如何构建@ControllerAdvice和WebExceptionHandler全局异常处理防线。同时,提供了使用.log()操作符、Hooks.onOperatorDebug()及BlockHound进行高效调试的方法,旨在帮助开发者构建健壮、可维护的响应式应用。

weixin_29252171的博客 67

Redis进阶——发布订阅详解

什么是发布订阅? Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 的 subscribe 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。 ☛ 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: ☛ 当有新消息通过 publish命令发送给频道.

祝我飞黄腾达 3万+

Oracle EBS R12 AR 标准发票 核心表结构

​ Oracle EBS R12 AR 标准发票 核心表结构 聚焦手动标准发票 (Standard Invoice),按头→行→分配→税→收款计划→会计分录→历史分层,标注主键、外键、关键字段、业务含义,同时说明表间关联关系,适配开发 / 运维 / 数据核对场景。 一、主数据层(发票头 + 行,核心业务表) 1. RA_CUSTOMER_TRX_ALL 【发票头表】 作用:存储整张发票头部信息,一张发票对应一条记录,AR 发票主表。 主键:CUSTOMER_TRX_ID (唯一 ID,系统内部键) 业

金牌架构师 282

Redis(八)进阶:Redis如何实现发布订阅功能?

前言 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。 Redis客户端可以订阅任意数量的频道! 一、实现方式: ①命令: 这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等。 ②发布订阅的实现: 1、订阅端: 127.0.0.1:6379> ping PONG 127.0.0.1:6379> SUBSCRIBE dingdada #订阅名字为 dingdada 的频道 Reading m

大鱼的博客 3万+

vue2/3 - [超详细] 实现企业微信扫码登录完整流程及代码,vue项目接入企业微信扫码登录功能教程,支持新跳页显示二维码或div容器里内嵌登录二维码(详细代码注释,一键复制开箱即用)

vue企业微信扫码登录,vue网页网站企业微信扫码登录教程,vue如何实现企业微信扫码登录功能,vue详细企业微信扫码登录功能实现,vue2实现企业微信扫码登录,前端vue企业微信扫码登录教程,vue pc电脑端企业微信扫码登录详细教程,vue项目中怎么做企业微信扫码注册登录,vue实现网站接入企业微信扫码登录,vue2做企业微信扫码登录的优质文章教程,vue网站对接企业微信扫码登录,vue企业微信扫码登录如何新开一页全屏显示登录二维码,vue企业微信登录二维码 内嵌在div容器里/跳页显示登录二维码,vu

✅ 精选推荐文章 5703

直流母线电压采集与缓冲调理电路

本文介绍了一种直流母线电压采集与缓冲调理电路的设计与应用。该电路通过电阻分压网络将高压直流母线电压降至适合ADC采样的范围,并采用运放电压跟随器实现高输入阻抗和低输出阻抗的缓冲功能,有效提高采样精度和抗干扰能力。文章重点阐述了低输出阻抗对驱动负载、抗干扰和电压稳定的重要性,并列举了该电路在工业电源监测、电动汽车BMS、通信电源和储能系统等领域的典型应用场景。

qq_37999850的博客 319

Redis——Redis的进阶使用(管道/发布订阅/事务/布隆过滤器)

Redis的进阶使用 文章目录Redis的进阶使用一、管道(pipelining)二、发布订阅(Pub/Sub)三、Redis 事务四、布隆过滤器 在上一篇文章中我们详解 Redis的 key-value 键值对模型中 value 的细节点,重点在于理解 value 支持的五种数据结构,对于每种数据结构的基本用法(即常用命令),我们还要对每种数据结构的优劣势,以及常用业务场景要做到心中有数 作为缓存之王,Redis 绝对不可能只有这么一点儿功能,下面我们就来学习一下 Redis 的进阶使用 其实从 Red

qq_42583242的博客 722

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【从0到1进阶Redis】Redis 发布订阅

Pub/Sub 从字面上理解就是发布(Publish)和订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及订阅,当一个key值上进行了消息发布后,所有订阅它的客户端都会收到相应的消息。这一功能最明显的用法就是用作实时消息系统,比如普通的即时聊天,群聊等功能。

ALiangSev的博客 598

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Redis 零基础到进阶,Redis 事务,Redis 管道,Redis 发布订阅,笔记47-54

Redis 零基础到进阶,Redis 事务,Redis 管道,Redis 发布订阅,笔记47-54

道友 335

【Java从0到架构师】Redis 进阶 - pipline、发布订阅、Bitmap、HyperLogLog、GEO

Redis 原理与实战Jedis 的基本使用Redis 数据淘汰策略Redis 进阶拓展pipline - 命令批处理,减少大量命令的网络开销,提高操作性能发布订阅 - subscribeBitmap - 一串连续的二进制数字(字符串),每一位所在的位置为偏移HyperLogLog - 一种基数统计算法GEO - 地理信息定位,存储经纬度,计算两地距离,计算范围 Java 从 0 到架构师目录:【Java从0到架构师】学习记录 一些概念:PV(Page View)访问量,UV(Unique Visito

萌宅鹿的技术小屋 540

【进阶篇】2.16 Redis 消息传递发布订阅模式详解

发布订阅模式(Publish-Subscribe Pattern)是一种消息传递模式,其基本原理是消息的发送者(发布者)不会直接发送消息给特定的接收者(订阅者),而是将消息分成不同的类别(频道),然后将消息发送给订阅了这些类别的所有接收者。发布订阅模式在分布式系统中广泛应用,例如实时消息推送、日志收集等。在 Redis 中,发布订阅模式有两个主要的角色:发布者和订阅者。

日拱一卒无有尽,功不唐捐终入海 3759

Redis进阶-发布订阅简介

Redis的发布订阅介绍

SIESTA030的博客 1188

Redis进阶篇:发布订阅模式原理与运用

Redis 发布订阅(Pus/Sub)是一种消息通信模式:发送者通过PUBLISH发布消息,订阅者通过SUBSCRIBE订阅接收消息或通过取消订阅。主要包含三个部分组成:「发布者」、「订阅者」、「Channel」。发布者和订阅者属于客户端,Channel 是 Redis 服务端,发布者将消息发布到频道,订阅这个频道的订阅者则收到消息。...

m0_73088370的博客 440

【Redis】理论进阶篇------Redis的发布订阅

关于这个Redis的发布订阅模型,我觉得大家了解原理即可,知道有这样一个东西,作为我们知识完整性的一部分。如果想提升这方面的技术还是要去学习现在市面上比较流行的消息中间键才行。

qq_51933234的博客 528
上一篇: Redis持久化
下一篇: Redis进阶学习之主从复制
software_Manito
博客等级 码龄8年 6粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值