redis支持双向push,支持阻塞和非阻塞
lpush key value [value ...]
将一个或多个值插入到列表头部(从左开始插)。
PS:当一次多个push时
lpush key value1 value2 value3
相当于
lpush key value1
lpush key value2
lpush key value3
所以很好理解,push多个值时,读出来的顺序是 value3 value2 value1
LRANGE key start stop
返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
RPUSH key value [value ...]
将一个或多个值插入到列表的尾部(最右边)
lpushx key value
将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。
0-失败,大于0-插入后长度
lpop key
移除并返回列表的第一个元素(左)
blpop key [key ...] timeout
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
一个个输出,多个list时,先出完左边的。都出完后就nil和阻塞时间。
rpoplpush source destination
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
扫描二维码关注公众号,回复:
8731173 查看本文章
brpoplpush source destination timeout
从列表中取出最后一个元素,并插入到另外一个列表的头部; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
llen key
用于返回列表的长度
lrem key count value
根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素
ltrim key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
LINSERT key BEFORE|AFTER pivot value
插入值在存储在key之前或参考值支点后。
lset key index value
通过索引来设置元素的值
lindex key index
返回列表 key 中,下标为 index 的元素(从0开始)