欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis常用命令之操作List类型

程序员文章站 2022-06-17 21:54:02
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Redis的启动和关闭(前台启动和后台启动): https://blog.csdn.net/BADAO_ ......

场景

centos中redis的下载编译与安装(超详细):

https://blog.csdn.net/badao_liumang_qizhi/article/details/103967334

redis的启动和关闭(前台启动和后台启动):

https://blog.csdn.net/badao_liumang_qizhi/article/details/103972348

redisdesktopmanager客户端可视化工具下载安装与使用:

https://blog.csdn.net/badao_liumang_qizhi/article/details/103983147

注:

博客:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

list类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。更详细的说,list类型是一个双端链表的集合,我们可以通过相关的操作进行集合的头部或者尾部添加和删除元素,list的设计非常简单精巧,即可以作为栈,又可以作为队列,满足绝大多数的需求。

lpush/rpush命令

语法

lpush key value [value ...]

将一个或多个值 value 插入到列表 key 的表头

如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 lpush mylist a b c ,列表的值将是 c b a ,这等同于原子性地执行 lpush mylist a 、 lpush mylist b 和 lpush mylist c 三个命令。

如果 key 不存在,一个空列表会被创建并执行 lpush 操作。

当 key 存在但不是列表类型时,返回一个错误。

 

rpush key value [value ...]

将一个或多个值 value 插入到列表 key 的表尾(最右边)。

如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 rpush mylist a b c ,得出的结果列表为 a b c ,等同于执行命令 rpush mylist a 、 rpush mylist b 、 rpush mylist c 。

如果 key 不存在,一个空列表会被创建并执行 rpush 操作。

当 key 存在但不是列表类型时,返回一个错误。

举例

Redis常用命令之操作List类型

 

 

Redis常用命令之操作List类型

lrange命令

语法

lrange key start stop

返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。

下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

举例同上图。

linsert命令

语法

linsert key before|after pivot value

将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。

当 pivot 不存在于列表 key 时,不执行任何操作。

当 key 不存在时, key 被视为空列表,不执行任何操作。

如果 key 不是列表类型,返回一个错误。

举例

Redis常用命令之操作List类型

 Redis常用命令之操作List类型

 

 

lpop/rpop命令

语法

lpop key

移除并返回列表 key 的头元素。

 

rpop key

移除并返回列表 key 的尾元素。

举例

Redis常用命令之操作List类型

 

 

Redis常用命令之操作List类型

lrem命令

语法

lrem key count value

根据参数 count 的值,移除列表中与参数 value 相等的元素。

count 的值可以是以下几种:

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。

 

举例

Redis常用命令之操作List类型

 

 

Redis常用命令之操作List类型

lset命令

语法

lset key index value

将列表 key 下标为 index 的元素的值设置为 value 。

当 index 参数超出范围,或对一个空列表( key 不存在)进行 lset 时,返回一个错误。

 

举例

Redis常用命令之操作List类型

 Redis常用命令之操作List类型

 

 

llen命令

语法

llen key

返回列表 key 的长度。

如果 key 不存在,则 key 被解释为一个空列表,返回 0 .

如果 key 不是列表类型,返回一个错误。

举例

Redis常用命令之操作List类型

 Redis常用命令之操作List类型

 

 

ltrim命令

语法

ltrim key start stop

对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

举个例子,执行命令 ltrim list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。

下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

当 key 不是列表类型时,返回一个错误。

举例

Redis常用命令之操作List类型

 Redis常用命令之操作List类型

 

 

lindex命令

语法

lindex key index

返回列表 key 中,下标为 index 的元素。

下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

如果 key 不是列表类型,返回一个错误。

举例

Redis常用命令之操作List类型

 

 

Redis常用命令之操作List类型

其他常用命令请参考文档