redis pub/sub 发布订阅

Redis的列表数据结构有blpopbrpop命令,能从列表里返回且删除第一个(或最后一个)元素,或者被堵塞,直到有一个元素可供操作。这可以用来实现一个简单的队列。

(译注:对于blpopbrpop命令,如果列表里没有关键字可供操作,连接将被堵塞,直到有另外的Redis客户端使用lpushrpush命令推入关键字为止。)

此外,Redis对于消息发布和频道订阅有着一流的支持。你可以打开第二个redis-cli窗口,去尝试一下这些功能。在第一个窗口里订阅一个频道(我们会称它为warnings):

subscribe warnings

其将会答复你订阅的信息。现在,在另一个窗口,发布一条消息到warnings频道:

publish warnings "it‘s over 9000!"

如果你回到第一个窗口,你应该已经接收到warnings频道发来的消息。

你可以订阅多个频道(subscribe channel1 channel2 ...),订阅一组基于模式的频道(psubscribe warnings:*),以及使用unsubscribepunsubscribe命令停止监听一个或多个频道,或一个频道模式。

最后,可以注意到publish命令的返回值是1,这指出了接收到消息的客户端数量。

这里的客户端与server端采用长连接建立推送机制,一个客户端发布消息,可以在多个客户端收到通知。

参考:

http://redis.io/topics/pubsub 中文译文:http://www.redis.cn/topics/pubsub.html

https://redis.readthedocs.org/en/latest/pub_sub/index.html

redis pub/sub 发布订阅,布布扣,bubuko.com

时间: 2024-07-28 21:48:48

redis pub/sub 发布订阅的相关文章

redis中的发布订阅(Pub/Sub)

这里使用nodejs的redis模块说明,具体可见https://www.npmjs.com/package/redis,先来通过一个简单的例子了解下redis中的Pub/Sub具体怎么实现吧.. var express = require('express'); var router = express.Router(); var redis = require("redis"); /* GET home page. */ router.get('/', function(req,

Pub/Sub 发布订阅

Related commands 相关命令 PSUBSCRIBE PUBLISH PUBSUB PUNSUBSCRIBE SUBSCRIBE UNSUBSCRIBE Pub/Sub SUBSCRIBE, UNSUBSCRIBE and PUBLISH implement the Publish/Subscribe messaging paradigm where (citing Wikipedia) senders (publishers) are not programmed to send

Redis七(发布订阅)

发布与订阅(pub/sub) 介绍 Redis 通过 PUBLISH . SUBSCRIBE 等命令实现了订阅与发布模式, 这个功能提供两种信息机制, 分别是订阅/发布到频道和订阅/发布到模式 订阅者可以订阅一个或多个频道,发布者向一个频道发送消息后,所有订阅这个频道的订阅者都将收到消息,而发布者也将收到一个数值,这个数值是收到消息的订阅者的数量.订阅者只能收到自它开始订阅后发布者所发布的消息,而之前发布的消息是收不到的. 运行原理: Redis 的 SUBSCRIBE 命令可以让客户端订阅任意

redis事务以及发布订阅

1. 什么是redis的事务? ???????? redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体,就是一个队列.当执行的时候,一次性按照添加顺序依次执行,中间不会被打断或者干扰. 2. 能干嘛? ???????? 一个队列中,一次性,顺序性,排他性的执行一系列命令 3. redis事务基本操作 开启事务:multi 设置事务的开始位置,这个指令开启后,后面所有的指令都会加入事务中 执行事务: exec 设置事务的结束位置,同时执行事务,与multi成对出现,成对使用 取消

redis 的消息发布订阅

redis支持pub/sub功能(可以用于消息服务器),这个功能类似mq,这里做一个简单的介绍 Pub/Sub Pub/Sub 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅, 当一个key值上进行了消息发布后,所有订阅它的客户端都会收到相应的消息.这一功能最明显的用法就是用作实时消息系统,比如普通的即时聊天,群聊等功能. 客户端1:subscribe rain 客户端2:PUBLISH rain "hello

使用redis pub/sub 时间订阅与发布消息

import redis import time r=redis.StrictRedis(host="127.0.0.1",port=6379) #你也可以选择使用地址池的方式建立连接 while True: if __name__='__main__': dis=Get_Distance() p=r.publish() p.subscribe("first channel") #订阅 r.publish("first channel",dis)

【Redis】jedis客户端实现redis消息的发布订阅(实时消息中间件)

发布 package com.chiwei.redis; import java.io.BufferedReader; import java.io.InputStreamReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; public class RedisPublisher { private static final Logger log = L

C# Redis系列(三)-Redis发布订阅及客户端编程

发布订阅模型 Redis中的发布订阅 客户端编程示例 0.3版本Hredis 发布订阅模型 在应用级其作用是为了减少依赖关系,通常也叫观察者模式.主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方. 发送方:只负责向第三方发送消息.(杂志社把读者杂志交给邮局) 接收方:被动接收消息.(1:向邮局订阅读者杂志,2:门口去接邮过来的杂志) 第三方作用是:存储订阅杂志的接收方,并在杂志过来时送给接收方. (邮局) C#示例,发送方把杂志放到邮局里面: if (QA.AddBug()) E

redis(4)----发布订阅

  一. redis发布订阅简介         发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合.pub /sub不仅仅解决发布者和订阅者直接代码级别耦合,也解决两者在物理部署上的耦合. 二. 测试源码     1. 首先启动redis     2. 发布         新建一个Java Project,然后再新建一个class,为其增加main方法来向redis发布消息: package com.luych.message.publish; i