目录
基本概念
List类型是安装插入顺序的字符串链表。和数据结构中的普通链表一样,在头部(left)和尾部(right)添加新元素。在插入时,如果键并不存在,Redis将为期创建一个新的链表。相反,如果链表中所有元素均被移除,那么该键也会被移除。List中包含的额最大元素数量为:2的25次方。
从元素插入和删除的角度上看,在链表的头尾插入效率比较高,在链表中间插入或者删除效率低。
操作
创建mykey及关联的List,然后将参数中的values从左到右依次插入
lpush mykey a b c d 1 2 3
获取全部元素,及获取部分元素
lrange mykey 0 -1
或
lrange mykey 1 3
使用lpushx表示存在时才能插入,当不存在时,该命令就失效了。
lpushx mykey2 aaa
使用lrange获取第某个单独的元素
lrange mykey 1 1
或
lrange mykey 2 2
lpop左弹出一个元素,并取值
lpop mykey
获取链表的长度:
llen mykey
使用lrem从头部(left)向尾部)删除2个值等于a的元素,返回值为实际删除的个数
lrem mykey 2 a
通过索引,获取值
lindex mykey 1
这里索引下标是从0开始的
通过索引修改值
lset mykey 0 aaa
使用linsert向链表中插入数据:
linsert mykey before c ccc
上面都是以lxxx为例子,代表是从左边(头部进行),还可以从rxxx,代表是从右边(尾部)进行的。