redis队列常用命令 | 作用 |
---|---|
rpush key value [value …] | 从队列的右边入队一个元素或多个元素,往list中插入数据,若不存在该key则先创建,若key对应的值不是list ,则返回一个错误 |
lpush key value [value …] | 与rpush作用一样,只是这个是从左侧插入数据 |
rpushx key value | 从队列的右边入队一个元素,仅队列存在是有效,队列不存在时,不进行任何操作 |
lpushx key value | 与rpushx类似,这个从左边入队元素 |
lpop key | 从队列的左边出队一个元素,若list为空,则返回nil |
rpop key | 从队列的右边出队一个元素,若list为空,则返回nil |
blpop key [key …] timeout | 删除,并获得该列表中的第一个元素,或阻塞,直到有一个可用;这是LPOP的阻塞版本。在LPOP的时候,如果队列中没有值,则会返回一个nil。而BLPOP则会等待一段时间,如果list中有值(等待的时候,被添加的),则返回对应值;如果在给定时间内仍没有得到结果,则返回nil。timeout的单位为秒,规定时间内存进来的值也会被删除并返回,timeout为0时表示永远阻塞 |
brpop key [key …] timeout | 删除,并获得该列表的最后一个元素,或阻塞,直到有一个可用,参考blpop |
rpoplpush source destination | 删除source表的最后一个元素,将其左插入追加到destination表中 |
brpoplpush source destination timeout | rpoplpush的阻塞版本 |
llen key | 获得队列(list)的长度 |
lrange key start end | 获取指定返回的元素 |
lindex key index | 获取一个元素,通过其索引列表 |
lset key index value | 设置队列里面一个元素的值 |
lrem key count value | 从列表中删除元素,该命令用于从key对应的list中,移除前count次出现 的值为value的元素。count参数有三种情况:a)count > 0: 表示从头向尾(左到右)移除值为value的元素。b)count < 0: 表示从尾向头(右向左)移除值为value的元素。c)count = 0: 表示移除所有值为value的元素。 |
ltrim key start stop | 修剪到指定范围内的清单;这个命令和LRANGE十分相似,LRANGE会将指定范围的元素返回给客户端,而LTRIM会对list进行修剪,使其只包含指定范围的元素。start和stop表示范围。 |
linsert key before/after pivot value | 在列表的另一个元素之前或之后插入一个元素;该命令将value插入值key对应的列表的基准值pivot的前面或是后面当key不存在时,这个list被视为空列表,任何操作都不会发生。当key存在,但保存的不是list,则会报error。该命令会返回修改之后的list的长度,如果找不到pivot,则会返回-1。 |
参考 :
https://www.cnblogs.com/idiotgroup/p/5575236.html#BLPOP