首页 > 数据库 >Redis常用命令之操作List类型

Redis常用命令之操作List类型

时间:2023-02-06 18:01:57浏览次数:80  
标签:index mylist Redis 元素 List value 列表 key 常用命令


场景

Centos中Redis的下载编译与安装(超详细):


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

实现

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类型_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类型_搜索_02

LPOP/RPOP命令

语法

LPOP key

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

 

RPOP key

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

举例

Redis常用命令之操作List类型_搜索_03

 

LREM命令

语法

LREM key count value

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

count 的值可以是以下几种:

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

 

举例

Redis常用命令之操作List类型_redis_04

 

LSET命令

语法

LSET key index value

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

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

 

举例

 

Redis常用命令之操作List类型_搜索_05

LLEN命令

语法

LLEN key

返回列表 key 的长度。

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

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

举例

 

Redis常用命令之操作List类型_redis_06

LTRIM命令

语法

LTRIM key start stop

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

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

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

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

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

举例

 

Redis常用命令之操作List类型_搜索_07

LINDEX命令

语法

LINDEX key index

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

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

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

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

举例

Redis常用命令之操作List类型_不执行_08

 

其他常用命令请参考文档

​http://doc.redisfans.com/list/index.html​

标签:index,mylist,Redis,元素,List,value,列表,key,常用命令
From: https://blog.51cto.com/BADAOLIUMANGQZ/6040060

相关文章

  • Redis常用命令之操作Set(集合)
    号霸道的程序猿获取编程相关电子书、教程推送与免费下载。实现set集合是string类型的无序集合,set是通过hashtable实现的,对集合我们可以取交集、并集、差集SADD命令语法SAD......
  • java EE开发之Servlet第四课:监听器(Listener)
     1.什么是Listener监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施。比如老板口渴了,秘书就会去端茶;比如老板要......
  • 在阿里云ECS上安装redis
    最近买了阿里云服务器,打算自己搭建一套完整java技术链【如有问题欢迎大家指正】,下面是在【阿里云ECS】CentOS上Redis安装与配置的操作说明。1.Redis下载与安装我的Cento......
  • 循环删除list元素
    最近和某个朋友聊天,说他手下的一个开发,工作3年多了,一个需求的技术点,需要循环删除List中的元素,整了半天,说程序报错,不会弄。。他挺无语的,和我倾诉,我说工作3年多......
  • Java8中匹配两个list的数据(string的list与对象list的属性求差集)
    场景Java8新特性-Stream对集合进行操作的常用API:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126070657上面介绍常用api的使用,下面记录一个常用场景的......
  • 【转载】职场社交平台「Peerlist」
    海外newthings|职场社交平台「Peerlist」种子轮融资110万美元,为技术型求职者整合工作成果档案-36氪LinkedIn逐渐将重点转移到了内容创作与宣发。「Peerlist」希望填补......
  • java8 list取出重复值
    @Testpublicvoidtest10(){//根据device_code去重,取出重复值List<Employee>emps=newArrayList<>();List<String>dupList=emps.stream().colle......
  • java8 两个相同list去重,过滤相同元素
    @Testpublicvoidtest12(){//需要过滤的集合List<Employee>first=Arrays.asList(newEmployee(102,"李四",79,6666.66,Status.BUSY),......
  • list集合(String字符串)去重的三种方式
    方式一:List<String>listTemp=newArrayList<String>();for(inti=0;i<list.size();i++){if(!listTemp.contains......
  • Redis笔记(2): Linux服务器安装Redis
    1.下载  访问官网地址:Redis官网下载地址进行下载.2.上传安装包到Linux服务器并解压上传文件到/usr/local/src目录下解压安装包tar-zxvfredis-7.0.8.tar.gz查......