Redis-07-Redis常用命令-列表类型操作命令
一:列表list操作命令
Redis列表是简单的字符串列表,按照插入顺序排列,常用命令:
(1)lpush key value1 [value2]
将一个或多个值插入到列表头部
例如:
从下面的图看就是左边
lpush mylist a b c
(2) lrange key start stop
获取列表指定范围内的元素
例如:
start=0,stop=2,也就是从第0个到第2个
start=0,stop=-1,查所有
lange mylist 0 -1 会发现顺序是c b a,因为a是先插入的,所以在队尾
然后再插入lpush mylist itcast 顺序是itcast c b a
然后在插入lpush mylist a 顺序是a itcast c b a 说明我们的列表里面可以有重复元素
(3) rpop key
移除并获取列表最后一个元素
例如:
r是right的意思,这里是指右边的d
rpop mylist 返回a
rpop mylist 返回b
(4) llen key
获取列表长度
例如:
llen mylist 返回3,说明我们的列表里面还有3个元素
(5) brpop key1 [key2] timeout
移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
例如:
brpop mylist 10 返回了mylist和c,说明我们mylist里面的c已经没了
brpop mylist 10 返回了mylist和itcast,说明我们mylist里面的itcast已经没了
brpop mylist 10 返回了mylist和a,说明我们mylist里面的a已经没了
因为现在我们这个队列里面已经没有数据了,如果再执行brpop mylist 10,会等阻塞时间10s过了之后返回nil
我们使用list这种类型通常可以做任务队列,比如说我们可以把一些任务数据添加到队列里面来,然后就可以从左边进也就是执行lpush key value1 [value2]
这个命令,把数据一个一个插进去,然后从后边出也就是通过我们的rpop key
或者是brpop key1 [key2] timeout
,就相当于是出队列。然后把数据
一个一个取出来,然后来处理。
key或者是
brpop key1 [key2] timeout`,就相当于是出队列。然后把数据
一个一个取出来,然后来处理。