在redis中,列表list可以存储一个有序的字符串列表,其内部是使用双向链表实现的,因此想列表两端添加元素的时间复杂度为O(1),其主要的应用场景包括:获取最新的几条记录等
1.向列表两端添加元素
向列表的左侧添加元素
lpush key value
向列表的右侧添加元素
rpush key value
2.获取列表中元素的个数
llen key
3.获取列表的片段
lrange key start end
其中start与end为开始与结束的索引,redis的列表的起始索引为0;
其中:
lrange key 0 -1
返回列表中所有的值。
如果end大于实际的索引范围,则会返回列表最右边的的元素
4.从列表两段弹元素
从左边弹出元素,并且得到被移除元素的值
lpop key
从右边弹出元素,并且得到被移除元素的值
rpop key
5.获取指定索引之的元素值
lindex key index
6 设置指定索引值得元素值
lset key index value
7 将元素从一个列表转到另外一个列表
rpoplpush source destination
备注:先从source列表的右边弹出一个元素,然后将其加入到destination列表的左边;有意思的是如果source与destination相同,该命令会不断将队尾的元素移动到队首。