redis的发布和订阅

发布   PUBLISH

订阅   SUBSCRIBE

            

            

发布和订阅的实验

PUBLISH channel msg
    将信息 message 发送到指定的频道 channel

SUBSCRIBE channel [channel ...]
    订阅频道,可以同时订阅多个频道

UNSUBSCRIBE [channel ...]
    取消订阅指定的频道, 如果不指定频道,则会取消订阅所有频道
PSUBSCRIBE pattern [pattern ...]
    订阅一个或多个符合给定模式的频道,每个模式以 * 作为匹配符,比如 it* 匹配所    有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有    以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类
PUNSUBSCRIBE [pattern [pattern ...]]
    退订指定的规则, 如果没有参数则会退订所有规则
PUBSUB subcommand [argument [argument ...]]
    查看订阅与发布系统状态
注意:使用发布订阅模式实现的消息队列,当有客户端订阅channel后只能收到后续发布到该频道的消息,之前发送的不会缓存,必须Provider和Consumer同时在线。

启动两个redis-cli窗口,都订阅电台

              

窗口2,启动发布者向频道 diantai发送消息

[[email protected] ~]# redis-cli
127.0.0.1:6379> PUBLISH diantai ‘jinyewugenglaiwojia‘
(integer) 2

窗口3,查看订阅者的消息状态

订阅一个或者多个符合模式的频道

窗口1,启动两个redis-cli窗口,均订阅 wang*频道(channel)

127.0.0.1:6379> PSUBSCRIBE wang*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "wang*"
3) (integer) 1

1) "pmessage"
2) "wang*"
3) "wangbaoqiang"
4) "jintian zhennanshou "

窗口2,启动redis-cli窗口,均订阅wang*频道

127.0.0.1:6379> PSUBSCRIBE wang*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "wang*"
3) (integer) 1

1) "pmessage"
2) "wang*"
3) "wangbaoqiang"
4) "jintian zhennanshou "

窗口3,发布者消息

[[email protected] ~]# redis-cli
127.0.0.1:6379> PUBLISH wangbaoqiang "jintian zhennanshou "
(integer) 2

总结:

三个角色,提供的redis命令
1.发布者
publish 频道 消息 给频道发消息
2.订阅者
SUBSCRIBE 频道 订阅频道
PSUBSCRIBE 频道* 支持模糊匹配的订阅
3.频道
channel 频道名 自定义

原文地址:https://www.cnblogs.com/wqzn/p/10216731.html

时间: 2024-10-31 20:22:06

redis的发布和订阅的相关文章

nodejs redis的发布与订阅

redis的发布(pub)是把消息推送到不同的频道或指定的频道,订阅(sub)是订阅一个或多个频道接收来自频道的消息,取消订阅(unsubscribe). 概念性的就不多做介绍,看源码: /* * redis发布订阅 */ "use strict"; let configFile = require('../../include/commons').CONFIG_FILE; let config = require('../../resources/config/' + configF

redis的发布与订阅机制

Redis 通过 PUBLISH. SUBSCRIBE 和 PSUBSCRIBE 等命令实现发布和订阅功能. 这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播.实时提醒等. 本文通过分析 Redis 源码里的 pubsub.c 文件,了解发布和订阅机制的底层实现,籍此加深对 Redis 的理解. 订阅.发布和退订 在开始研究源码之前,不妨先来回顾一下几个相关命令的使用方式. PUBLISH 命令用于向给定的频道发送信息,返回值为接收到信息的订阅者数量: redis

redis 实战教程、redis缓存教程、redis消息发布、订阅、redis消息队列教程

一:本教程使用环境: ubuntu12.x .jdk1.7 .Intellij idea.spring3.2.8 .redis服务端3.0,jedis客户端2.7.3 spring-data-redis 1.6.0 二:redis 服务端安装教程 这里不详解 三:redis 缓存特性 示例如下: spring配置: <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

python:用Redis完成发布和订阅数据

安装: pip install redis 发布文件: # coding:utf-8 import redis import json class RedisHelper(): def __init__(self): localhost = '192.168.2.x' self.__conn = redis.Redis(host='localhost', port=6379, password='password') # , decode_responses=True, password='pa

redis的发布和订阅操作

原文地址:https://www.cnblogs.com/wuheng-123/p/9762634.html

Redis学习-发布/订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redis 客户端可以订阅任意数量的频道. 常用命令 命令 描述 复杂度 返回 PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道.每个模式以*作为匹配符,比如it*匹配所有以 it 开头的频道( it.news . it.blog . it.tweets 等等) O(N),N是订阅的模式的数量. 接收到的信息 PUBLISH channe

Redis源码解析:30发布和订阅

Redis的发布与订阅功能,由SUBSCRIBE,PSUBSCRIBE,UNSUBSCRIBE,PUNSUBSCRIBE,以及PUBLISH等命令实现. 通过执行SUBSCRIBE命令,客户端可以订阅一个或多个频道.当有客户端通过PUBLISH命令向某个频道发布消息时,频道的所有订阅者都会收到这条消息. 除了订阅具体的频道之外,客户端还可以通过执行PSUBSCRIBE命令订阅一个或多个频道模式.当有客户端通过PUBLISH命令向某个频道发布消息时,消息不仅会被发送给这个频道的所有订阅者,它还会发

发布和订阅

发布和订阅是一种消息通信模式. 优点:使消息订阅者和消息发布者耦合度降低,类似设计模式中的观察者模式. Redis 的发布和订阅 发布和订阅 订阅的命令如下: // 订阅一个或多个频道 subscribe channel1 channel2 channel3 ... // 模式订阅,频道参数类似正则表达式 psubscribe abc* xyz* ... 发布命令如下: publish channel msg 启动一个订阅者客户端 X 订阅 cctv-1 返回三个参数:subscribe 订阅成

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

使用with打开文件的方式,是调用了上下文管理的功能 1 #打开文件的两种方法: 2 3 f = open('a.txt','r') 4 5 with open('a.txt','r') as f 6 7 实现使用with关闭socket 8 import contextlib 9 import socket 10 11 @contextlib.contextmanage 12 def Sock(ip,port): 13 socket = socket.socket() 14 socket.bi