重学redis系列之list

list作为redis支持的物种数据类型之一,有许多有用的方法,连接上redis以后我们可以使用help @list查看相关的命令。
在这里插入图片描述
redis关于list的命令主要分为两大类以L开头和以R开头的命令,部分L开头的命令L代表的是left(部分是标识是list的命令),R代表的right,下面来看看redis关于list的一些常用命令:
LPUSH key value [value …]
summary: Prepend one or multiple values to a list
在这里插入图片描述
LRANGE key start stop
summary: Get a range of elements from a list
可以通过lrange查看一个list中的元素。
查看看k1中所有元素:
在这里插入图片描述
对应的可以通过lpop从左侧取出一个元素:
在这里插入图片描述
在这里插入图片描述
我们发现元素弹出的顺序和push的顺序刚好是相反的,这其实是一个我们常用的数据结构–栈(先进后出)。
相应的有LPUSH、LPOP也有对应的RPUSH、RPOP,用法一样,同向命令可以模拟栈的效果。相应的,反向命令可以模拟队列(先进先出)的效果。
常用的命令还有:
获取list中数据个数
LLEN key
summary: Get the length of a list
通过索引获取list中指定的位置的元素
LINDEX key index 。
summary: Get an element from a list by its index
在这里插入图片描述
设置一个list指定索引位置的元素
LSET key index value 。
summary: Set the value of an element in a list by its index
在这里插入图片描述
截取一个list中指定索引位置的元素
LTRIM key start stop。
summary: Trim a list to the specified range
在这里插入图片描述
在某一元素的前或后插入指定元素
LINSERT key BEFORE|AFTER pivot value。
summary: Insert an element before or after another element in a list。
在这里插入图片描述
如果指定的元素不存在则插入失败。
在这里插入图片描述
还有3个以B打头的命令,可以做到一个类似阻塞队列的效果。
等待一段时间或一定等待直到满足条件从list中弹出一个元素
BLPOP key [key …] timeout
summary: Remove and get the first element in a list, or block until one is available
在这里插入图片描述
因为k2不存在,所以我们看到当前的客户端阻塞了,
新开一个客户端:
在这里插入图片描述
然后我们看到第一个客户端已经弹出对应元素了。
在这里插入图片描述
list的相关命令基本也就这些了,到此为止。

猜你喜欢

转载自blog.csdn.net/hxj413977035/article/details/112178616