Redis列表是简单的字符串列表,按照插入顺序排序。
Redis 列表命令如下:
1.移出并获取列表的第一个元素:BLpop list timeout
//如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是//被弹出元素所属的 key ,第二个元素是被弹出元素的值。
Redis:0>blpop mylist 10
1) "mylist"
2) "chd"
2.移出并获取列表的最后一个元素:BRpop list timeout
//如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
Redis:0>brpop mylist 10
1) "mylist"
2) "chd"
3.去除列表1的最后的值插入到列表2的头部:Brpoplpush list1 list2 timeout
Redis:0>brpoplpush mylist mylist1 10
"name"
4.通过下标获取列表中的元素:Lindex list number
//number可以是负数,-1表示倒数第一个以此类推
Redis:0>lindex mylist 0
"1"
5.在列表的元素前或者后插入元素:Linsert list before/after value value1
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"
6.获取列表长度:llen list
Redis:0>llen mylist
"4"
7.将一个或多个值插入到列表头部: LPUSH list value1 [value2]
//返回列表的长度
Redis:0>lpush mylist na na1
"6"
8.将一个或多个值插入到列表尾部: RPUSH list value1 [value2]
//返回列表的长度
Redis:0>rpush mylist na na1
"8"
9.获取列表指定范围内的元素:Lrange list start end
Redis:0>lrange mylist 0 2
1) "na1"
2) "na"
3) "1"
10.移除列表元素:LREM key count VALUE
Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值。
redis> LREM mylist -2 "hello"
(integer) 2