Redis学习笔记:list类型内部编码及其应用场景

2018-08-04  本文已影响33人  Vechace

一、概述

Redis中列表(list)类型是用来存储多个有序的字符串,列表中的每个字符串成为元素(element),一个列表最多可以存储2^32 - 1个元素。

在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是一种比较灵活的数据结构,可以充当栈和队列的角色,在实际开发中有很多应用场景。

列表类型有以下特点:

二、常用命令

1.添加操作:

2.查找操作:

3.删除操作:

4.修改操作:

5.阻塞操作:

阻塞式弹出:

三、内部编码

列表类型的内部编码有两种,分别如下:

四、应用场景

1.消息队列:

如下图所示,Redis的lpush + brpop命令组合即可实现阻塞队列,生产者客户端使用lpush从列表左侧插入元素,多个消费者客户端使用brpop命令阻塞式的争抢列表尾部的元素,多个客户端保证了消费的负载均衡和高可用;

消息队列.png

2.文章列表:

利用队列FIFO的特性可以设计出最近文章列表功能或者指定特性的最新文章列表等,在设计文章列表时,应充分考虑其获取操作的性能,如批量获取操作、批量插入操作;

3.应用场景总结:

实际上列表的使用场景分舵,在选择时可以参入如下策略:

感谢阅读~

参考资料:


《Redis开发与运维》

上一篇 下一篇

猜你喜欢

热点阅读