博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis的消息通知
阅读量:6653 次
发布时间:2019-06-25

本文共 876 字,大约阅读时间需要 2 分钟。

Redis的消息通知可以使用List类型的LPUSH和RPOP(左进右出),
当然更方便的是直接使用Redis的Pub/Sub(发布/订阅)模式。

1.使用List实现队列

使用列表类型的LPUSH和RPOP命令(或者RPUSH和LPOP命令,右进左出)

可以很方便的实现一个任务队列,但是需要设置定时去查询队列,
并且可以使用对应的阻塞命令,LPUSH和BRPOP命令,可以实现后台接收消息的推送

2.Pub/Sub 发布订阅模式

Redis支持发布/订阅的模式,"发布/订阅"模式中包含两种角色,分别是发布者和订阅者。

订阅者可以订阅一个或若干个频道(channel),发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都会收到此消息。

但是需要注意一下,使用发布订阅模式实现的消息队列,当有客户端订阅channel后只能收到后续发布到该频道的消息,之前发送的不会缓存,必须Provider和Consumer同时在线。

命令参数

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 ...]]

查看订阅与发布系统状态

 

转载地址:http://xjjto.baihongyu.com/

你可能感兴趣的文章
浏览器默认样式
查看>>
利用”发送到”实现快速复制
查看>>
hdoj 1002 A + B Problem II 高精度 java
查看>>
ASP.NET版CKEditor与CKFinder的配置使用
查看>>
[数分提高]2014-2015-2第7教学周第1次课 (2015-04-14)
查看>>
数据存储之第三方FMDB
查看>>
Struts2标签的<s:set>标签与JSTL的<c:set>标签
查看>>
mysql之创建数据库,创建数据表
查看>>
C#属性封装
查看>>
spark sql中进行sechema合并
查看>>
WPF换肤之八:创建3D浏览效果
查看>>
eclipse怎么设置字体大小
查看>>
LCD与ARM,具体
查看>>
Git
查看>>
开源.net 混淆器ConfuserEx介绍
查看>>
iBATIS sql(XML)中的大于、小于、like等符号写法
查看>>
JVM的堆(heap)、栈(stack)和方法区(method)
查看>>
MongoDB学习笔记~自己封装的Curd操作(查询集合对象属性,更新集合对象)
查看>>
XMPPclient库Smack 4.0.6一个版本的开发
查看>>
StringTokenizer使用类
查看>>