目录
1. 什么是列表
2. 命令使用
2.1 LPUSH/RPUSH推入值
2.2 LPOP/RPOP弹出值
2.3 LLEN获取列表长度
2.4 LINDEX指定索引
2.5 LRANGE指定索引范围
2.6 LSET设置指定索引上的值
2.7 LINSERT插入值
2.8 LREM删除指定的值
2.9 LTRIM修减列表
2.10 BLPOP/BRPOP阻塞弹出
1. 什么是列表
从菜鸟教程看到Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。举个例子:
2. 命令使用
2.1 LPUSH/RPUSH推入值
LPUSH key value [value ...]:从左边推入,命令返回新值被推入之后,列表目前包含的项数量。
RPUSH key value [value ...]:从右边推入,命令返回新值被推入之后,列表目前包含的项数量。
lpush kt '格力'
rpush kt '美的'
lpush kt '海尔'
执行以上命令后,查看结果:
推入多个值的时候需要注意的是,如果是LPUSH推入,那么推入顺序与命令顺序相反,如果使用RPUST命令,那么推入顺序和命令上的顺序一致。
lpush kt 'l海尔1' 'l海尔2' 'l海尔3'
rpush kt 'r海尔1' 'r海尔2' 'r海尔3'
2.2 LPOP/RPOP弹出值
LOPO key:移出并返回最左边的顶
RPOP key:移出并返回最右边的顶
lpop kt
rpop kt
查看结果:
2.3 LLEN获取列表长度
LLEN key:返回列表长度
2.4 LINDEX指定索引
LINDEX key index:返回指定index索引上的值,index索引值可以是正数也可以是负数。
2.5 LRANGE指定索引范围
LRANGE key start stop:返回从start开始到stop结束的值,start、stop可正可负(闭区间)。
2.6 LSET设置指定索引上的值
LSET key index value:将index索引上的值设置为value,设置成功返回ok,失败返回错误。
2.7 LINSERT插入值
LINSERT key BEFORE|AFTER 参考点 value:BEFORE表示在参考点之前插入value,AFTER表示在参考点之后插入。如果指定的参考点不存在,则不执行操作。返回结果为0表示key不存在,返回结果为-1表示参考点不存在,插入成功返回列表长度。
查看结果:
2.8 LREM删除指定的值
LREM key count value:根据count的值删除列表中值为value的项,返回被移出的数量。
• 如果 count > 0 ,那么从表头开始向表尾搜索,移除最多 count 个值为 value 的列表项。
• 如果 count < 0 ,那么从表尾开始向表 头搜索,移除最多 abs(count) 个值为 value 的列表项。
• 如果 count = 0 ,那么移除列表中所有 值为 value 的列表项。
2.9 LTRIM修减列表
LTRIM key start stop:修减列表,只保存从start到stop中的值,其他的删除,start、stop可正可负。命令执行成功返回ok。
2.10 BLPOP/BRPOP阻塞弹出
BLOPO key time:命合会以从左到右的顺序,访问给定的各个列表,并弹出首个非空列表最左端的项;如果所有给定列表都为空,那么客户端捋被阻塞,直到等待超时,或者有可弹出的项出现为止;设置 time参数为0表示永远阻塞。
BROPO key time:命合会以从左到右的顺序,访问给定的各个列表,并弹出首个非空列表最右端的项;如果所有给定列表都为空,那么客户端捋被阻塞,直到等待超时,或者有可弹出的项出现为止;设置time参数为0表示永远阻塞。
本节类容到此结束