list是一个链表结构,主要功能是pop, push,获取一个范围内的所有值等,操作中key理解为链表的名字.list既可以用作栈也可以用作队列.
栈: 先进后出. 队列: 先进先出. list的主要方法有.
1.lpush //在key对应list的头部添加字符串元素.(类似栈操作)
lpush name hou1
输出: (integer)1 //添加成功
lpush name hou2
输出: (integer)1 //添加成功
2.lrange //获取key的内容, 参数: 开始下标, 结束下标
lrange name 0 -1 //开始下标, 结束下标的位置
输出: 1)"hou2"
输出: 2)"hou1"
3.rpush //在key对应的list尾部添加字符串元素 (类似队列操作)
rpush name hou3
lrange name 0 -1
输出: 1)"hou2"
输出: 2)"hou1"
输出: 3)"hou3"
4.linsert //在key对应list的特定位置之前或之后添加字符串元素
linsert name before hou3 hou4
lrange name 0 -1
输出: 1)"hou2"
输出: 2)"hou1"
输出: 3)"hou4"
输出: 4)"hou3"
5.lset //设置list中指定下表的元素值(下标从0开始)
lset name 0 hou0
输出: ok
lrange name 0 -1
输出: 1)"hou0"
输出: 2)"hou1"
输出: 3)"hou4"
输出: 4)"hou3"
6.lrem //从对应list中删除count个和value相同的元素(count>0时,按从头到尾的顺序删除, count<0 时,按从尾到头的顺序删除)
lrem name 1 hou4
输出: (integer)1 //删除成功
lrange name 0 -1
输出: 1)"hou0"
输出: 2)"hou1"
输出: 3)"hou3"
7.ltrim //保留指定key的值范围内的数据
ltrim name 0 1
输出: ok
lrange name 0 -1
输出: 1)"hou0"
输出: 2)"hou1"
8.lpop //从list的头部删除元素,并返回删除元素
lpop name
输出: "hou0"
lrange name 0 -1
输出: 1)"hou1"
9.rpop //从list的尾部删除元素,并返回删除元素
lpush name hou2
lrange name 0 -1
输出: 1)"hou2"
输出: 2)"hou1"
rpop name
输出: "hou1"
10.rpoplpush //从第一个list的尾部移除元素并添加到第二个list的头部,最后反回被移除的元素值,整个操作是原子的,如果第一个list是空或者不存在返回nil(空)
rpoplpush name name2
输出: "hou2"
lrange name 0 -1
输出: (empty list or set)
11. lindex //返回名称为key的list 中index位置的元素
lrange user2 0 -1
输出: "hou2"
lindex user2 0
输出: "hou2"
12.llen //返回key对应的list的长度
len user2
输出: (integer)1