Redis(3-3):列表类型

列表类型list可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。

列表类型内部使用双向链表实现,所以向列表两端添加元素的时间复杂度为O(1),获取越接近两端的元素速度就越快。

不过使用链表的代价就是通过索引访问元素比较慢。

这种数据结构使得列表类型能非常快速地完成关系数据库难以应付的场景:如社交网站的新鲜事,我们关心的只是最新的内容,使用列表类型存储,即使新鲜事的总数达到几千万,获取最新的100条数据也是极快的。同样因为在两端插入记录的时间复杂度是O(1),列表类型也适合用来记录日志,可以保证加入新日志的速度不会受到已有日志数量的影响。

一个列表类型键最多能容纳(2^32-1)个元素。

命令 举例 说明
LPUSH key value [value ... ] , RPUSH key value [value ... ] Redis(3-3):列表类型 向列表两端增加元素
LPOP key,RPOP key Redis(3-3):列表类型 从列表两端弹出元素
LLEN key Redis(3-3):列表类型 获取列表中元素的个数
LRANGE key start stop Redis(3-3):列表类型 获得列表片段
LREM key count value Redis(3-3):列表类型 删除列表中指定的值
LINDEX key index , LSET key index value Redis(3-3):列表类型 获得/设置指定索引的元素值
LTRIM key start end Redis(3-3):列表类型 只保留列表指定片段
LINSERT key BEFORE|AFTER pivot value Redis(3-3):列表类型 向列表中插入元素

 

转载于:https://my.oschina.net/u/2914561/blog/879900