• (基本知识)Redis 列表(List)相关命令函数


    1. Blpop :在设定时间内(秒)移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

           返回: 第一个元素是弹出元素的 key ,第二个元素是弹出元素的值

           如果列表为空,返回一个 nil

    127.0.0.1:6379> lpush yzt aaa
    (integer) 1
    127.0.0.1:6379> lpush yzt bbb
    (integer) 2
    127.0.0.1:6379> lpush yzt ccc
    (integer) 3
    127.0.0.1:6379> blpop yzt 3
    1) "yzt"
    2) "ccc"
    127.0.0.1:6379> blpop yztd 3
    (nil)
    (3.10s)
    127.0.0.1:6379>

    2.Brpop :移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 

           返回: 第一个元素是弹出元素的 key ,第二个元素是弹出元素的值

           如果列表为空,返回一个 nil

    127.0.0.1:6379> brpop yzt 3
    1) "yzt"
    2) "aaa"
    127.0.0.1:6379> 

    3.Brpoplpush :从列表中取出最后一个元素,并插入到另外一个列表的头部; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

            返回: 第一个元素是弹出元素的 key ,第二个元素是弹出元素的值

           如果列表为空,返回一个 nil

    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ddd"
    3) "ooo"
    4) "bbb"
    127.0.0.1:6379> brpoplpush yzt ydt 3
    "bbb"
    127.0.0.1:6379> lrange ydt 0 10
    1) "bbb"
    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ddd"
    3) "ooo"
    127.0.0.1:6379> 

    4.Lindex :用于通过索引获取列表中的元素。可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。成功返回值 否则返回nil

    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ddd"
    3) "ooo"
    127.0.0.1:6379> lindex yzt 0
    "www"
    127.0.0.1:6379> lindex yzt 2
    "ooo"
    127.0.0.1:6379>

    5.Linsert :用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作

    LINSERT key BEFORE|AFTER pivot value

          成功返回列表长度

          列表中的元素不存在返回-1

         key不存在或是空列表返回0

    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ddd"
    3) "ooo"
    127.0.0.1:6379> linsert yzt before ddd ppp
    (integer) 4
    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ppp"
    3) "ddd"
    4) "ooo"
    127.0.0.1:6379> linsert yzt after ddd mmm
    (integer) 5
    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ppp"
    3) "ddd"
    4) "mmm"
    5) "ooo"
    127.0.0.1:6379> 

    6.Llen :用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误

    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ppp"
    3) "ddd"
    4) "mmm"
    5) "ooo"
    127.0.0.1:6379> llen yzt
    (integer) 5
    127.0.0.1:6379> 

    7.Lpop 命令用于移除并返回列表的第一个元素,不存在返回nil

    127.0.0.1:6379> lrange yzt 0 10
    1) "www"
    2) "ppp"
    3) "ddd"
    4) "mmm"
    5) "ooo"
    127.0.0.1:6379> llen yzt
    (integer) 5
    127.0.0.1:6379> lpop yzt
    "www"
    127.0.0.1:6379> llen yzt
    (integer) 4
    127.0.0.1:6379> 

    8.Lpush :将一个或多个值插入到列表头部 返回列表长度

    127.0.0.1:6379> lpush yzt fff
    (integer) 5
    127.0.0.1:6379> lrange yzt 0 10
    1) "fff"
    2) "ppp"
    3) "ddd"
    4) "mmm"
    5) "ooo"
    127.0.0.1:6379> lpush yzt hhh lll
    (integer) 7
    127.0.0.1:6379> lrange yzt 0 10
    1) "lll"
    2) "hhh"
    3) "fff"
    4) "ppp"
    5) "ddd"
    6) "mmm"
    7) "ooo"
    127.0.0.1:6379>

    9. Lpushx 将一个值插入到已存在的列表头部,列表不存在时操作无效  成功返回列表长度

    127.0.0.1:6379> lrange ydt 0 10
    1) "bbb"
    127.0.0.1:6379> lpushx ydt fff
    (integer) 2
    127.0.0.1:6379> lrange ydt 0 10
    1) "fff"
    2) "bbb"
    127.0.0.1:6379> lpushx ydt qqq eee
    (integer) 4
    127.0.0.1:6379> lrange ydt 0 10
    1) "eee"
    2) "qqq"
    3) "fff"
    4) "bbb"
    127.0.0.1:6379> 

    10.Lrange 返回列表中指定区间内的元素   偏移量 START 和 END 指定

               其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推

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

    127.0.0.1:6379> lrange ydt 0 10
    1) "eee"
    2) "qqq"
    3) "fff"
    4) "bbb"

    11. Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素

            count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。

           count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。

           count = 0 : 移除表中所有与 VALUE 相等的值

           返回被移除元素的数量

    127.0.0.1:6379> lrange yzt 0 10
    1) "fff"
    2) "lll"
    3) "hhh"
    4) "fff"
    5) "ppp"
    6) "ddd"
    7) "mmm"
    8) "ooo"
    127.0.0.1:6379> lrem yzt 2 fff
    (integer) 2
    127.0.0.1:6379> lrange yzt 0 10
    1) "lll"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    5) "mmm"
    6) "ooo"
    127.0.0.1:6379>

    12.Lset 通过索引来设置元素的值  超出索引、空列表返回错误

    127.0.0.1:6379> lrange yzt 0 10
    1) "lll"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    5) "mmm"
    6) "ooo"
    127.0.0.1:6379> lset yzt 0 plk
    OK
    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    5) "mmm"
    6) "ooo"
    127.0.0.1:6379> 

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

    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    5) "mmm"
    6) "ooo"
    127.0.0.1:6379> ltrim yzt 0 3
    OK
    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    127.0.0.1:6379> 

    14.Rpop :用于移除列表的最后一个元素,返回值为移除的元素

    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "ppp"
    4) "ddd"
    127.0.0.1:6379> rpop yzt
    "ddd"
    127.0.0.1:6379> 

    15.Rpoplpush :用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回

    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "ppp"
    127.0.0.1:6379> lrange ydt 0 10
    1) "eee"
    2) "qqq"
    3) "fff"
    4) "bbb"
    127.0.0.1:6379> rpoplpush yzt ydt
    "ppp"
    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    127.0.0.1:6379> lrange ydt 0 10
    1) "ppp"
    2) "eee"
    3) "qqq"
    4) "fff"
    5) "bbb"
    127.0.0.1:6379> 

    16.Rpush :用于将一个或多个值插入到列表的尾部(最右边)  返回列表长度

    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    127.0.0.1:6379> rpush yzt nnn
    (integer) 3
    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "nnn"
    127.0.0.1:6379> 

    17.Rpushx :用于将一个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效  返回列表的长度

    127.0.0.1:6379> rpushx yzt k
    (integer) 4
    127.0.0.1:6379> lrange yzt 0 10
    1) "plk"
    2) "hhh"
    3) "nnn"
    4) "k"
    127.0.0.1:6379> 
  • 相关阅读:
    WPF多语言支持
    解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题
    ios adi ADBannerView 无法修改 宽度
    ios 判断横竖屏的方法
    Core data 数据同步
    常用的sql脚本(陆续更新)
    高晓松:不买房,买梦想
    (转贴)关于多线程执行显示进度条的实例!
    如何快速创建大文件
    利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能(转)
  • 原文地址:https://www.cnblogs.com/ddf128/p/12187082.html
Copyright © 2020-2023  润新知