- 列表List,可以存储字符串、整形、浮点型数值,列表中可以存在重复值,可以利用list来模仿栈(先进后出)或者队列(先进先出)
- List的常用命令
-
rpush(rpush key value) 将一个或者多个value推入列表的右端
-
lpush(lpush key value) 将一个或者多个value推入列表的左端
-
rpop(rpop key) 将队列中的最右端的值弹出
-
lpop(lpop key) 将队列中的最左端的值弹出
-
lindex(lindex key offset) 返回列表key中指定offset的值
-
lrange(lrange key start end) 获取列表key中指定长度的元素,start开始,end结束
-
ltrim(ltrim key start end) 修剪列表,只保留列表key中指定长度从start(包含start)到end(包含end)长度的元素,可以使用此命令实现秒杀功能,比如只有20件商品,可以将ltrim偏移量设置为0,20
-
brpop/blpop(brpop key [key1 key2 ..] timeout) rpop/lpop的阻塞版,当给定列表内没有任何元素可供弹出的时候,连接将被brpop/blpop 命令阻塞,直到等待超时(timeout)或发现可弹出元素为止。
-
rpoplpush(rpoplupush key1 key2) 将key1最右端的元素弹出并从推入key2的最左端,并返回该元素,key1可以与key2相同
-
brpoplpush(brpoplpush key1 key2 timeout) rpoplpush的阻塞版
-
linsert(linsert key before/after pre/late value) 在列表的指定元素前/后插入指定元素
-
llen (llen key) 返回列表的指定长度,若key不存在返回0,若key不是list类型返回一个错误
-
lrem(lrem key count value) 移除列表key中的元素value,若count>0 从表头一处count个value,若count=0从列表key中删除所有的与value值相等的元素,若count<0则从表尾删除count个value
-
lset(lset key num value) 将列表key中下标为num的元素更新成value,若超过范围会返回错误
-