1.1.1. 一、 List(列表)介绍:
- 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
- List 本质是个链表, List 的元素是有序的,元素的值可以重复。(可以存放重复的字符串)
- List相当于两边都可以存取元素的管道。
- 如果把List中的元素都移除,那这个List的key也不存在了。
1.1.2. 二、列表元素的增删改查。
1、从左边(left)增加、查询多个元素。(使用 lpush增加,lrange 范围查询)
127.0.0.1:6379> lpush citys beijing shanghai guiyang
(integer) 3
127.0.0.1:6379> lrange citys 0 -1
1) "guiyang"
2) "shanghai"
3) "beijing"
127.0.0.1:6379> lrange citys 0 1
1) "guiyang"
2) "shanghai"
说明:
1、
lpush citys beijing shanghai guiyang
表示从左边给列表citys增加3个元素(beijing、 shanghai、 guiyang)。2、
lrange citys 0 -1
表示从左边取出列表citys的元素。元素下班从0到-1(-1表示最后一个元素,-2表示倒数第二个元素,依次类推)。因为 guiyang 这个元素是从左边放入的最后一个元素,所以从左边取出它的下标就是0。也就是放入顺序和取出顺序正好相反。
2、从右边(right)增加多个元素。(使用 rpush 命令)
127.0.0.1:6379> lpush citys aaa bbb ccc
(integer) 3
127.0.0.1:6379> lrange citys 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
127.0.0.1:6379> rpush citys ddd eee
(integer) 5
127.0.0.1:6379> lrange citys 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
4) "ddd"
5) "eee"
说明:
1、从右边放入2个元素ddd、eee到citys:
rpush citys ddd eee
2、从右边放入 rpush 的元素顺序和 从左边取出 lrange 的元素顺序一样。
3、lpop 从左边弹出一个元素。rpop 从右边弹出一个元素。
127.0.0.1:6379> lrange citys 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
4) "ddd"
5) "eee"
127.0.0.1:6379> lpop citys
"ccc"
127.0.0.1:6379> lrange citys 0 -1
1) "bbb"
2) "aaa"
3) "ddd"
4) "eee"
说明:
lpop citys 从左边弹出一个元素之后。citys的元素减少了一个。同理rpop一样,从右边弹出一个数据:
127.0.0.1:6379> lrange citys 0 -1 1) "bbb" 2) "aaa" 3) "ddd" 4) "eee" 127.0.0.1:6379> rpop citys "eee" 127.0.0.1:6379> lrange citys 0 -1 1) "bbb" 2) "aaa" 3) "ddd"
4、删除整个list。(使用 del 命令)
127.0.0.1:6379> lrange citys 0 -1
1) "bbb"
2) "aaa"
3) "ddd"
127.0.0.1:6379> del citys
(integer) 1
127.0.0.1:6379> lrange citys 0 -1
(empty list or set)
说明:
del citys
删除citys之后再查询lrange citys 0 -1
就查询不到了。
5、查询 List 中有多少元素。(使用 llen 命令)
127.0.0.1:6379> lrange citys 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
127.0.0.1:6379> llen citys
(integer) 3
llen citys
可以看到citys这个List中存在3个元素。如果没有citys,返回0.