lpush [key] [value1] [value2] … [valuen]
将一个或多个值插入给定key头部,如果key不存在,会创建再插入,当key存在且不是list类型时,会返回一个错误
Redis 2.4 版本以前只能插入单个值
1 | # 正常情况 |
lpushx [key] [value]
作用与lpush类似,区别在于插入的key必须存在,不存在时插入操作无效
1 | # 正常情况 |
rpush [key] [value1] [value2] … [valuen]
作用与lpush类似,区别在于是从尾部插入
1 | 127.0.0.1:6379> rpush rpush-key 1 2 3 4 5 6 7 |
rpushx [key] [value]
作用与lpushx类似,区别在于是从尾部插入
1 | 127.0.0.1:6379> lrange rpush-key 0 -1 |
llen [key]
获取列表长度
1 | 127.0.0.1:6379> lpush llen-key 1 2 3 4 5 |
lpop [key]
移除并返回列表的第一个元素
1 | 127.0.0.1:6379> lpush lpop-key 1 2 3 4 5 |
rpop [key]
移除并返回列表的最后一个元素
1 | 127.0.0.1:6379> lpush rpop-key 1 2 3 4 5 |
lindex [key] [index]
通过索引获取列表中的元素,索引从0开始,可以是负数,-1表示最后一个元素,以此类推
如果索引超出列表范围,则返回nil
1 | 127.0.0.1:6379> lpush lindex-key 1 2 3 4 5 |
lrange [key] [start] [stop]
获取给定key指定范围内的元素,索引从0开始,可以是负数,-1表示最后一个元素,以此类推
获取全部元素,start设定为0,stop设定为-1即可
所在范围内没有元素时返回
(empty list or set)
1 | 127.0.0.1:6379> lpush lrange-key 1 2 3 4 5 6 7 |
lrem [key] [count] [value]
根据参数count的值,移除列表中与value相等的元素
count>0:从表头开始搜索移除,数量为count
count<0:从表尾开始搜索移除,数量为count绝对值
count=0:移除列表中所有与value值相等的元素
1 | 127.0.0.1:6379> lpush lrem-key 1 3 4 1 4 6 1 9 1 0 1 1 7 |
lset [key] [index] [value]
为指定key设置指定索引的值,如果索引超出范围或者key不存在则返回一个错误
1 | # 正常情况 |
linsert [key] [before|after] pivot value
在给定key列表中指定元素前面|后面插入元素value
当列表中指定元素存在多个时,处理标准是第一个相同元素
指定元素不存在于列表时,不执行任何操作
列表不存在或列表为空时,不执行任何操作
给定key不是列表时,返回一个错误
执行成功返回列表的长度,如果没有找到指定的元素则返回-1,如果key不存在或是空列表则返回0
1 | # 正常情况 |
ltrim [key] [start] [stop]
对列表进行修剪,只保留索引范围内的元素,其余元素都会被清除,索引从0开始,可以是负数,-1表示最后一个元素,以此类推,如果范围内没有元素,则会清除所有元素.
1 | 127.0.0.1:6379> lpush ltrim-key 1 2 3 4 5 6 7 |
rpoplpush [source-key] [destination-key]
移除源key的最后一个元素,将元素添加到目标key并返回
1 | 127.0.0.1:6379> lpush rpoplpush-key 1 2 3 4 5 |
blpop [key1] [key2] … [keyn] [timeout]
移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素
如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
1 | 127.0.0.1:6379> lpush blpop-key 1 2 3 4 5 |
brpop [key1] [key2] … [keyn] [timeout]
作用与blpop类似,区别在于是弹出最后一个元素
1 | 127.0.0.1:6379> lpush brpop-key 1 2 3 4 5 |
brpoplpush [source-key] [destination-key] [timeout]
1 | 127.0.0.1:6379> lpush brpoplpush-key 1 2 3 4 5 |
本文作者:Jormin
本文地址: https://blog.lerzen.com/2018/01/16/redis命令-list/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!