zoukankan      html  css  js  c++  java
  • Redis常用命令之操作List类型

    场景

    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

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    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 存在但不是列表类型时,返回一个错误。

    举例

    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 不是列表类型,返回一个错误。

    举例

     

    LPOP/RPOP命令

    语法

    LPOP key

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

    RPOP key

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

    举例

    LREM命令

    语法

    LREM key count value

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

    count 的值可以是以下几种:

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

    举例

    LSET命令

    语法

    LSET key index value

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

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

    举例

     

    LLEN命令

    语法

    LLEN key

    返回列表 key 的长度。

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

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

    举例

     

    LTRIM命令

    语法

    LTRIM key start stop

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

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

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

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

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

    举例

     

    LINDEX命令

    语法

    LINDEX key index

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

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

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

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

    举例

    其他常用命令请参考文档

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

  • 相关阅读:
    antdesign vue 官网地址
    WMS智能仓储管理系统-干货-产品介绍
    C# 判断文件夹与文件是否存在
    C# 获取文件大小,创建时间,文件信息,FileInfo类的属性表
    问题2:采购发票、材料出库单、到货单,打开时提示某某插件是否安装! 问题
    问题一:u813.0销售出库单-EAI接口报-在对应所需名称或序数的集合中,未找到项目
    SqlServer数据库sa登录失败,错误18456
    解决<compilation debug="true" targetFramework="4.0"> 问题
    SQL Server 2005无法远程连接的解决方法
    Windows Server 2008 IIS 7.5 HTTP 错误 404.3
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12469170.html
Copyright © 2011-2022 走看看