列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获取列表的某一个片段。
列表类型内部是使用双向链表实现,所以向列表两端添加元素的时间复杂度是O(1)。但是通过索引访问元素比较慢。
命令:
1、向列表两端添加元素
LPUSH key value [value ...]
RPUSH key value [value ...]
2、从列表两端弹出元素
LPOP key
RPOP key
3、获取列表中元素个数
LLEN key
4、获得列表片段
LRANGE key start stop (索引从0开始,支持负值,-1表示最右边第一个元素)
5、删除列表中指定的值
LREM key count value
LREM命令会删除列表中前count个值为value的元素,根据count值不同,LREM命令的执行方式会略有差异:
当count>0时,从左边开始
当count<0时 从右边开始
当count=0时,删除所有值为value的元素
6、获得/设置指定索引的元素值,索引从0开始,支持负数,-1是最右边元素的索引
LINDEX key index
LSET key index value
7、只保留列表指定片段
LTRIM key start end
8、向列表中插入元素
LINSERT key BEFORE|AFTER pivot value
LINSERT命令首先会在列表中从左到右查找值为pivot的元素,然后根据第二个参数是BEFORE还是AFTER来决定将value插入到该元素的前面还是后面。
9、将元素从一个列表转到另一个列表
RPOPLPUSH source destination