列表
Redis列表的值得类型为字符串,按照插入顺序排序。
LPUSH命令:
LPUSH key value value1 value2...
左边插入,将一个或多个值value插入列表key的头部,
如果key不存在,一个空列表则会被创建,当key存在但不是列表类型时,返回一个错误。
RPUSH命令:
RPUSH key value value1 value2...
右边插入,将一个或多个值value插入列表key的尾部
如果key不存在,一个空列表则会被创建,当key存在但不是列表类型时,返回一个错误。
LLEN命令:
LLEN key
返回列表key的长度,
如果key不存在,则key被解释为一个空列表返回0,当key存在但不是列表类型,返回错误。
LRANGE命令:
LRANGE key start end {包头包尾}
返回列表key中指定范围内的元素,索引从左侧0开始,索引可以为负数,最后一个为-1
LPUSHX命令:
LPUSHX key value value1 value2...
当列表key存在时,才将value插入到列表key的表头,否则什么也不做。
当key存在但不是列表类型时,返回一个错误。
RPUSHX命令:
RPUSHX key value value1 value2...
当列表key存在时,才将value插入到列表key的尾部,否则什么也不做。
当key存在但不是列表类型时,返回一个错误。
LPOP命令:
LPOP key
删除列表key的头部元素并返回该元素,当key不存在时,返回nil
RPOP命令:
RPOP key
删除列表key的尾部元素并返回该元素,当key不存在时,返回nil
BLPOP命令:
BLPOP key timeout
当给定列表头部内没有任何元素可供删除的时候,连接将被BLPOP命令阻塞,直到等待超时
或发现可被删除元素为止,timeout设置为0则表示不超时
BRPOP命令:
BRPOP key timeout
当给定列表尾部内没有任何元素可供删除的时候,连接将被BLPOP命令阻塞,直到等待超时
或发现可被删除元素为止,timeout设置为0则表示不超时
RPOPLPUSH命令:
RPOPLPUSH list1 list2
将source列表中的尾部元素移除,并将该元素插入至目标列表的头部
BRPOPLPUSH命令:
BRPOPLPUSH list1 list2 timeout
将source列表中的尾部元素移除,并将该元素插入至目标列表的头部,并伴有超时时间
举例:
LPUSH hello 1 2 3 4 5
结果:(integer) 5
llen hello
结果:(integer) 5
lpushx hello 999
结果:(integer) 6
lrange hello 0 -1
结果:
1) "999"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
lpop hello
结果:"999"
rpop hello
结果:"1"
lrange hello 0 -1
结果:
1) "5"
2) "4"
3) "3"
4) "2"
blpop list1 3
结果:
1) "list1"
2) "11"
返回列表名,和删除列表的头部元
blpop list1 3
结果:
(nil)
(3.09s)
因为列表为空数据,阻塞了3秒就结束
lpush list1 111 222 333 444
(integer) 4
lrange list1 0 -1
1) "444"
2) "333"
3) "222"
4) "111"
rpoplpush list1 list2
结果:"111"
lrange list2 0 -1
结果:1) "111"
网友评论