前言
list是redis数据库中的列表,列表元素的数据类型是string。
创建列表
- 从左侧插入数据,创建列表
语法:lpush list item1 item2
1
2
3
4
5
6
7
8127.0.0.1:6379> lpush list1 one two three
(integer) 3
127.0.0.1:6379> type list1 #查看列表的数据类型
list
127.0.0.1:6379> lrange list1 0 2 #查看列表的元素
1) "three"
2) "two"
3) "one" - 从右侧插入数据,创建列表
语法:rpush list item1 item2
1
2
3
4
5
6127.0.0.1:6379> rpush list2 one two three
(integer) 3
127.0.0.1:6379> lrange list2 0 2 #查看列表的元素
1) "one"
2) "two"
3) "three"插入数据到列表
语法:linsert list before/after item item_changed
1
2
3
4
5
6
7127.0.0.1:6379> linsert list1 before two 2 #向列表list1的元素"two"之前插入元素"2"
(integer) 4
127.0.0.1:6379> lrange list1 0 3 #查看列表的元素
1) "three"
2) "2"
3) "two"
4) "one"查看列表元素
语法:lrange list index1 index2
1
2
3
4
5127.0.0.1:6379> lrange list1 0 -1 #查看列表的所有元素,索引值为-1表示最后一个元素
1) "three"
2) "2"
3) "two"
4) "one"修改列表元素的值
语法:lset list index item
1
2
3
4
5
6
7
8
9
10
11
12127.0.0.1:6379> lrange list1 0 -1
1) "three"
2) "2"
3) "two"
4) "one"
127.0.0.1:6379> lset list1 1 change #将索引值为1的元素值改为"change"
OK
127.0.0.1:6379> lrange list1 0 -1
1) "three"
2) "change"
3) "two"
4) "one"删除列表元素
语法:lrem list count item
count的值大于0,表示从左侧开始删除值为item的元素。
count的值小于0,表示从右侧开始删除值为item的元素。
count的值等于0,表示删除所有值为item的元素。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22127.0.0.1:6379> lrange list1 0 -1
1) "b"
2) "a"
3) "b"
4) "a"
5) "b"
6) "a"
7) "three"
8) "change"
9) "two"
10) "one"
127.0.0.1:6379> lrem list1 -2 b #从右侧删除list1的两个值为"b"的元素
(integer) 2
127.0.0.1:6379> lrange list1 0 -1
1) "b"
2) "a"
3) "a"
4) "a"
5) "three"
6) "change"
7) "two"
8) "one"