## Redis专题四:消息队列
[TOC]
### list类型实现
使用`lpush`与`brpop`实现,`brpop`是阻塞的,当list队列中没有元素时,会一直等待
### Pub/Sub模式实现
- **发布者:** 发布的消息被描述成频道,而无需知道有什么(如果有的话)订阅者
- **订阅者:** 订阅者表示对一个或多个频道感兴趣,并且只接收感兴趣的消息,而无需知道有什么(如果有的话)发布者
| 命令 | 解释 |
| --- | --- |
| `SUBSCRIBE channel [channel ...]`| 订阅频道 ,如`SUBSCRIBE channel:0`|
| `UNSUBSCRIBE [channel [channel ...]]`|取消订阅指定频道,如果一个频道都没有指定,则取消订阅所有频道 ,如`UNSUBSCRIBEchannel:0`|
| `PUBLISH channel message`| 发布者发布消息到指定频道, 如`PUBLISH channel:0 hello`|
| ` PSUBSCRIBE pattern [pattern ...]`| 订阅匹配模式pattern的频道,如`PSUBSCRIBE h?llo`订阅了频道`hello`,`hallo`and`hxllo`|
| ` PUNSUBSCRIBE pattern [pattern ...]`| 取消订阅匹配模式pattern的频道,如果一个频道都没有指定,则取消订阅所有频道 ,如`PUNSUBSCRIBE h?llo`订阅了频道`hello`,`hallo`and`hxllo`|
- JavaCook
- Java专题零:类的继承
- Java专题一:数据类型
- Java专题二:相等与比较
- Java专题三:集合
- Java专题四:异常
- Java专题五:遍历与迭代
- Java专题六:运算符
- Java专题七:正则表达式
- Java专题八:泛型
- Java专题九:反射
- Java专题九(1):反射
- Java专题九(2):动态代理
- Java专题十:日期与时间
- Java专题十一:IO与NIO
- Java专题十一(1):IO
- Java专题十一(2):NIO
- Java专题十二:网络
- Java专题十三:并发编程
- Java专题十三(1):线程与线程池
- Java专题十三(2):线程安全与同步
- Java专题十三(3):内存模型、volatile、ThreadLocal
- Java专题十四:JDBC
- Java专题十五:日志
- Java专题十六:定时任务
- Java专题十七:JavaMail
- Java专题十八:注解
- Java专题十九:浅拷贝与深拷贝
- Java专题二十:设计模式
- Java专题二十一:序列化与反序列化
- 附加专题一:MySQL
- MySQL专题零:简介
- MySQL专题一:安装与连接
- MySQL专题二:DDL与DML语法
- MySQL专题三:工作原理
- MySQL专题四:InnoDB存储引擎
- MySQL专题五:sql优化
- MySQL专题六:数据类型
- 附加专题二:Mybatis
- Mybatis专题零:简介
- Mybatis专题一:配置文件
- Mybatis专题二:映射文件
- Mybatis专题三:动态SQL
- Mybatis专题四:源码解析
- 附加专题三:Web编程
- Web专题零:HTTP协议
- Web专题一:Servlet
- Web专题二:Cookie与Session
- 附加专题四:Redis
- Redis专题一:数据类型
- Redis专题二:事务
- Redis专题三:key的过期
- Redis专题四:消息队列
- Redis专题五:持久化