Redis学习05——存储字符串列表(list)
一、字符串列表(list) 说明
在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新元素。在插入时,如果该键不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被删除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是 4294967295。
二、两端添加
2.1 lpush key value1 value2 ….
命令:
lpush key value1 value2 ....
含义:
在指定的key所关联的list的头部(left)插入所有的value,如果该key不存在,那么该命令在插入之前创建一个与该key关联的空链表,之后再向该链表的头部添加数据。插入成功,返回元素的个数。
示例
127.0.0.1:6379> lpush mylist a b c d e f
(integer) 6
2.2 rpush key value1 value2 …
命令:
rpush key value1 value2 ....
含义:
在该list的尾部(right)添加元素
示例
127.0.0.1:6379> rpush mylist 1 2 3 4 5
(integer) 11
三、查看列表
3.1 lrange key start end
命令:
lrange key start end
含义:
获取链表中从start到end的元素的值,start、end从0开始计数。也可以为负数,若为-1则表示链表尾部的元素,-2则表示倒数第二个……
示例
127.0.0.1:6379> lrange mylist 0 -1
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"
6) "a"
7) "1"
8) "2"
9) "3"
10) "4"
11) "5"
四、两端弹出
4.1 lpop key
命令:
lpop key
含义:
返回并且弹出指定的key关联的链表中的第一个元素,即头部元素。如果该key不存在,返回nil;若存在,返回链表头部元素
示例
127.0.0.1:6379> lpop mylist
"f"
127.0.0.1:6379> lpop mylist
"e"
4.2 rpop key
命令:
rpop key
含义:
从尾部弹出元素
示例
127.0.0.1:6379> rpop mylist
"5"
127.0.0.1:6379> rpop mylist
"4"
127.0