一、介绍:
列表类型(list)可以存储一个有序的字符串列表
常用的操作是向列表两端添加元素,或者获得列表的某一个片段
列表类型内部是使用双向链表(double linked list)实现的,获取越接近两端的元素速度就越快
使用链表的代价是通过索引访问元素比较慢
这种特性使列表类型能非常快速地完成关系数据库难以应付的场景:如社交网站的新鲜事,我们关心的只是最新的内容,使用列表类型存储,即使新鲜事的总数达到几千万个,获取其中最新的100条数据也是极快的
二、命令:
命令 | 说明 |
---|---|
sdfvalue | 赋值 |
LPUSH key value | 向列表左边增加元素,返回值表示增加元素后列表的长度 |
LRANGE key startNum endNum | 取出列表所有元素 startNum:起始下标为 endNum:结束下标为 |
RPUSH key value | 向列表右边增加元素,返回值表示增加元素后列表的长度 |
LPOP key | 从列表左端弹出元素 |
RPOP key | 从列表右端弹出元素 |
LLEN key | 获取列表中元素的个数 |
LINDEX key index | 获得指定索引的元素值 index:列表中下标值 |
LSET key index value | 设置下标index的值 |
LINSERT key BEFORE index value | 向指定index前插入元素 |
LINSERT key AFTER index value | 向指定index后插入元素 |
三、列表类型实践
- 例:记录最新的10篇博文
127.0.0.1:6379> LPUSH posts:list 11 12 13
(integer) 3
127.0.0.1:6379> LRANGE posts:list 0 -1
1) "13"
2) "12"
3) "11"