一:特点
1:list 是一个链表结构,主要功能是 push、pop、获取一个范围的所有值等等,操作中 key 理 解为链表的名字。
2:Redis 的 list 类型其实就是一个每个子元素都是 string 类型的双向链表。链表的最大长度是(2 的 32 次方)。我们可以通过 push,pop 操作从链表的头部或者尾部添加删除元素。这使得 list 既可以用作栈,也可以用作队列。
二:命令
1:lpush key value [value ...] 在 key 对应 list 的头部添加字符串元素
2:rpush key value [value ...] 在 key 对应 list 的尾部添加字符串元素
3:linsert key BEFORE|AFTER pivot value 在 key 对应 list 的特定位置之前或之后添加字符串元素
4:lset key index value 设置 list 中指定下标的元素值(下标从 0 开始,下标为负数时是从尾到头计数)
5:lrem key count value 从key对应 list 中删除 count 个和 value 相同的元素。
count>0 时,按从头到尾的顺序删除
count<0 时,按从尾到头的顺序删除
count=0 时,删除全部
6:ltrim key start stop 保留指定 key 的值范围内的数据
7:lpop key 从 list 的头部删除元素,并返回删除元素
8:rpop key 从 list 的尾部删除元素,并返回删除元素
9:rpoplpush source destination 从第一个 list 的尾部移除元素并添加到第二个 list 的头部,最后返回被移除的元素值,整个操 作是原子的.如果第一个 list 是空或者不存在返回 nil,可对同一个list操作。
10:lindex key index 返回名称为 key 的 list 中 index 位置的元素
11:llen key 返回 key 对应 list 的长度
12:brpop key [key ...] timeout 移出并获取列表最后一个元素,如果列表没有元素会阻塞直到有元素或者等到超时
13:blpop key [key ...] timeout 移出并获取列表第一个元素,如果列表没有元素会阻塞直到有元素或者等到超时