假设我们有这样的需求:我们存储多个数据,并对数据进入存储空间的顺序进行区分。前面介绍的数据类型已经不满足我们现有的需求,于是引入一个新的数据类型 -- list ,list 也可以叫列表, 能保存多个数据,底层使用双向链表存储结构实现(链表属于《数据结构》的归属课程,我们在这里不再赘述)。
本文是该系列文章的第六篇,你可以通过下列链接阅读往期的篇章:
03-redis入门知识第3篇-redis的基本操作与数据类型
04-redis入门知识第4篇-redis中的string数据类型与基本的数据存取操作
命令格式
命令格式
往右边 添加 a b c 三个数据到 list 键中
命令格式
示例
查询第一个元素:list 的索引从 0 开始到 1 的元素
查询所有元素:list 的索引从 0 开始到 倒数第 1 的元素
命令格式
命令格式
示例
从 key1 列表中,或 key2 列表中,或 key3 列表中,阻塞式 取出列表数据,阻塞等待时间是 200 秒。
下面这条指令的功能是:从三个列表中任意取一个数据数据,从key1 开始取,如果 key1 没有数据则从 key2 取, key2 没有则从 key3 取。如果都没有 redis 会等待 200 秒,如果在 200 秒内没有取到,将会 返回 nil
应用案例:微信朋友圈点赞,要求按照点赞顺序显示点赞好友信息。如果取消点赞,移除对应的好友信息。这就就用到我们将说的,移除指定数据。
指令格式
示例
最后通过LRANGE 001 0 -1
命令查询结果如下:
总结:我们可以使用 list 的特性,可以将 redis 应用于操作具有先后顺序的数据控制