Redis5新特性Streams作消息队列
ytao丨杨滔 人气:3
![](https://img2020.cnblogs.com/other/1850167/202003/1850167-20200319091828528-189311773.png)
# 前言
> Redis 5 新特性中,Streams 数据结构的引入,可以说它是在本次迭代中最大特性。它使本次 5.x 版本迭代中,Redis 作为消息队列使用时,得到更完善,更强大的原生支持,其中尤为明显的是持久化消息队列。同时,stream 借鉴了 kafka 的消费组模型概念和设计,使消费消息处理上更加高效快速。本文就 Streams 数据结构中常用 API 进行分析。
# 准备
本文所使用 Redis 版本为 5.0.5 。如果使用更早的 5.x 版本,有些 API 使用效果,与本文中描述略有不同。
# 添加消息
Streams 添加数据使用 **XADD** 指令进行添加,消息中的数据以 K-V 键值对的形式进行操作。一条消息可以存在多个键值对,添加命令格式:
```bash
XADD key ID field string [field string ...]
```
其中 key 为 Streams 的名称,ID 为消息的唯一标志,不可重复,field string 就为键值对。下面我们就添加以 person 为名称的流,进行操作。
```bash
XADD person * name ytao des https://ytao.top
```
上面添加案例中,ID 使用 * 号复制,这里代表着服务端自动生成 Id,添加后返回数据 `"1578238486193-0"`
这里自动生成的 Id 格式为 `
加载全部内容