Redis学习05——存储字符串列表(list)
2017-09-27 21:52
465 查看
Redis学习05存储字符串列表list
一字符串列表list 说明
二两端添加
1 lpush key value1 value2
2 rpush key value1 value2
三查看列表
1 lrange key start end
四两端弹出
1 lpop key
2 rpop key
五获取列表中元素的个数
1 llen key
六其他命令
1 lpushx key value
2 rpushx key value
3 lrem key count value
4 lset key index value
5 linsert key beforeafter pivot value
6 rpoplpush source destination
![](http://img.blog.csdn.net/20170927215001843?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl3ZW5taW5nc2hpd28=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
含义:
在指定的key所关联的list的头部(left)插入所有的value,如果该key不存在,那么该命令在插入之前创建一个与该key关联的空链表,之后再向该链表的头部添加数据。插入成功,返回元素的个数。
示例
含义:
在该list的尾部(right)添加元素
示例
含义:
获取链表中从start到end的元素的值,start、end从0开始计数。也可以为负数,若为-1则表示链表尾部的元素,-2则表示倒数第二个……
示例
含义:
返回并且弹出指定的key关联的链表中的第一个元素,即头部元素。如果该key不存在,返回nil;若存在,返回链表头部元素
示例
含义:
从尾部弹出元素
示例
含义:
返回指定的key关联的链表中的元素的数量
示例
含义:
仅当参数中指定的key存在时,向关联的list的头部插入value。如果不存在,将不会插入
示例
含义:
在list的尾部添加元素
示例
含义:
删除count个值为value的元素。如果count大于0,从头开始遍历并删除count个值为value的元素。
如果count小于0,从尾向头遍历并删除。如果count等于0,则删除链表中所有等于value的元素。
示例
含义:
设置链表中的index的脚标的元素值。0代表链表的头元素,-1代表链表的尾元素。操作链表的脚标不存在则抛出异常
示例
含义:
在pivout元素前或者后面插入value这个元素
示例
含义:
将链表的尾部元素弹出并添加到头部
示例
一字符串列表list 说明
二两端添加
1 lpush key value1 value2
2 rpush key value1 value2
三查看列表
1 lrange key start end
四两端弹出
1 lpop key
2 rpop key
五获取列表中元素的个数
1 llen key
六其他命令
1 lpushx key value
2 rpushx key value
3 lrem key count value
4 lset key index value
5 linsert key beforeafter pivot value
6 rpoplpush source destination
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.0.1:6379> lrange mylist 0 -1 1) "d" 2) "c" 3) "b" 4) "a" 5) "1" 6) "2" 7) "3"
五、获取列表中元素的个数
5.1 llen key
命令:llen key
含义:
返回指定的key关联的链表中的元素的数量
示例
127.0.0.1:6379> llen mylist (integer) 7
六、其他命令
6.1 lpushx key value
命令:lpushx key value
含义:
仅当参数中指定的key存在时,向关联的list的头部插入value。如果不存在,将不会插入
示例
127.0.0.1:6379> lrange mylist 0 -1 1) "d" 2) "c" 3) "b" 4) "a" 5) "1" 6) "2" 7) "3" 127.0.0.1:6379> lpushx mylist e (integer) 8 127.0.0.1:6379> lrange mylist 0 -1 1) "e" 2) "d" 3) "c" 4) "b" 5) "a" 6) "1" 7) "2" 8) "3" 127.0.0.1:6379> lpushx mylistxxx eee (integer) 0
6.2 rpushx key value
命令:rpushx key value
含义:
在list的尾部添加元素
示例
127.0.0.1:6379> rpushx mylist 4 (integer) 9 127.0.0.1:6379> lrange mylist 0 -1 1) "e" 2) "d" 3) "c" 4) "b" 5) "a" 6) "1" 7) "2" 8) "3" 9) "4" 127.0.0.1:6379> rpushx mylistwwww jjjj (integer) 0
6.3 lrem key count value
命令:lrem key count value
含义:
删除count个值为value的元素。如果count大于0,从头开始遍历并删除count个值为value的元素。
如果count小于0,从尾向头遍历并删除。如果count等于0,则删除链表中所有等于value的元素。
示例
127.0.0.1:6379> lpush mylist2 a b c a a b b a b a (integer) 10 127.0.0.1:6379> lrange mylist2 0 -1 1) "a" 2) "b" 3) "a" 4) "b" 5) "b" 6) "a" 7) "a" 8) "c" 9) "b" 10) "a" 127.0.0.1:6379> lrem mylist2 2 a (integer) 2 127.0.0.1:6379> lrange mylist2 0 -1 1) "b" 2) "b" 3) "b" 4) "a" 5) "a" 6) "c" 7) "b" 8) "a" 127.0.0.1:6379> lrem mylist2 -2 a (integer) 2 127.0.0.1:6379> lrange mylist2 0 -1 1) "b" 2) "b" 3) "b" 4) "a" 5) "c" 6) "b" 127.0.0.1:6379> lrem mylist2 0 b (integer) 4 127.0.0.1:6379> lrange mylist2 0 -1 1) "a" 2) "c"
6.4 lset key index value
命令:lset key index value
含义:
设置链表中的index的脚标的元素值。0代表链表的头元素,-1代表链表的尾元素。操作链表的脚标不存在则抛出异常
示例
127.0.0.1:6379> lrange mylist2 0 -1 1) "a" 2) "c" 127.0.0.1:6379> lset mylist2 1 ccccc OK 127.0.0.1:6379> lrange mylist2 0 -1 1) "a" 2) "ccccc" 127.0.0.1:6379> lset mylist2 -2 aaaaaaaa OK 127.0.0.1:6379> lrange mylist2 0 -1 1) "aaaaaaaa" 2) "ccccc"
6.5 linsert key before|after pivot value
命令:linsert key before|after pivot value
含义:
在pivout元素前或者后面插入value这个元素
示例
127.0.0.1:6379> lrange mylist2 0 -1 1) "aaaaaaaa" 2) "ccccc" 127.0.0.1:6379> linsert mylist2 before aaaaaaaa a1 (integer) 3 127.0.0.1:6379> lrange mylist2 0 -1 1) "a1" 2) "aaaaaaaa" 3) "ccccc" 127.0.0.1:6379> linsert mylist2 after aaaaaaaa bbb (integer) 4 127.0.0.1:6379> lrange mylist2 0 -1 1) "a1" 2) "aaaaaaaa" 3) "bbb" 4) "ccccc"
6.6 rpoplpush source destination
命令:rpoplpush source destination
含义:
将链表的尾部元素弹出并添加到头部
示例
127.0.0.1:6379> lrange mylist2 0 -1 1) "a1" 2) "aaaaaaaa" 3) "bbb" 4) "ccccc" 127.0.0.1:6379> rpoplpush mylist2 mylist2 "ccccc" 127.0.0.1:6379> lrange mylist2 0 -1 1) "ccccc" 2) "a1" 3) "aaaaaaaa" 4) "bbb" 127.0.0.1:6379> lpush mylist3 333 4444 (integer) 2 127.0.0.1:6379> lrange mylist3 0 -1 1) "4444" 2) "333" 127.0.0.1:6379> rpoplpush mylist2 mylist3 "bbb" 127.0.0.1:6379> lrange mylist2 0 -1 1) "ccccc" 2) "a1" 3) "aaaaaaaa" 127.0.0.1:6379> lrange mylist3 0 -1 1) "bbb" 2) "4444" 3) "333"
相关文章推荐
- Dive Into Python 学习记录1-函数/模块导入/字典/列表/元组/字符串分割、连接、格式化/映射list/
- redis基础简介(一)- string(字符串)、list(列表)
- Redis学习-3.3:List列表详解
- Redis学习3--列表键List
- Redis学习笔记之Redis列表List(六)
- python学习笔记05(字符串与list)
- Redis学习03——存储字符串(String)
- python学习之路-字符串(str)和列表(list)的互相转换
- Redis学习07——存储有序字符串集合(sorted set)
- Redis 数据类型分析 字符串 哈希 列表 集合 有序集合 优缺点 分析 注意事项 存储结构
- 【Python】基础学习——列表(list),元祖(tuple),字典(dict),字符串(string),集合(set)
- python学习五 列表(list)、字典(dict)、字符串(string)
- Redis学习06——存储字符串集合(set)
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Redis命令学习—List(列表)
- 结合redis设计与实现的redis源码学习-8.3-t_list.c(列表键)
- Redis-数据结构(字符串列表list)
- 混乱的学习历程 list。爬取58同城二手房,判断列表内字符串位置用(列表名).index(字符串名)
- Redis与框架整合,存储 字符串,存储Hash,list,Set,Sorted-Set
- Redis对字符串、Hash(对象)、列表(List)处理的操作命令