前言
上节我们了解了Redis的哈希表类型,接下来我们讲讲Redis的List类型,Redis按照插入顺序排序,先进后出。
命令
将一个或多个值插入到列表头部:
lpush keyList value1 value2 ...
将一个值插入到已存在的列表头部(当list不存在时,插入失败):
lpushx keyList value
将一个或者多个值插入列表尾部:rpush keyList value1 value2 ...
将一个或者多个值插入已存在的列表尾部(当list不存在时插入失败,返回0):
rpushx keyList value
获取列表指定范围内的元素:
lrange keyList index endindex
获取列表的长度:llen keyList
移除并返回列表的第一个元素(返回被移除的元素):lpop keylist
移除列表中与value相等的值(返回删除元素的个数):
lrem keyList count value
当count<0时:表示从列表尾部开始删除|count|个与value相等的数值
当count>0时:表示从列表头部开始删除count个与value相等的值
当count=0时:表示删除所有与value相等的值
通过索引获取对应索引位的数值:lindex keyList index
通过索引设置对应索引的值:lset keyList index newValue
在列表中的元素value值前面或者后面插入一个元素值(从列表头部开始查):
linsert keyList before|after existValue newValue
移除并返回列表最后一个元素:rpop keyList
移除列表最后一个元素并添加到另一个新的列表中:
rpoplpush keyList newList
删除列表中指定区间之外的所有元素:
ltrim keyList index1 index2
从列表头部移除第一个元素,如果列表第一个元素不存在则阻塞,直到有元素可以取出,或者达到超时时间才返回:
blpop keyList timeout
从列表尾部移除最后一个元素,如果列表最后一个元素不存在则阻塞,直到有元素可以取出或者达到超时时间才返回:
brpop keyList timeout
从源列表尾部取出一个元素并插入到另一个列表中,如果源列表没有元素取出则阻塞,直到有元素可以取出或者达到超时时间才返回(是不是有点像生产者和消费者模型):
brpoplpush keylist1 keylist2 timeout