zoukankan      html  css  js  c++  java
  • Redis数据类型之列表List

    Redis列表简介

    Redis列表是简单的字符串列表,一个列表最多可以包含 232 - 1 个元素。列表按照插入顺序排序,可以从列表的头部或者尾部添加元素

    上图演示了使用LPUSH向列表中插入元素,并用LRANGE取出列表元素。LPUSH key value : 将元素从列表的头部插入

    Redis列表命令

     一、BLPOP key1 [key2] timeout

    作用: 移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

    返回值:在列表不为空时,返回两个元素,第一个是被弹出元素所属的key,第二个是被弹出的元素;列表为空时,在等待给定的timeout过后,会返回nil

    二、BRPOP key1 [key2] timeout

    作用:与BLPOP指令相反,移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

    返回值:假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值

    三、BRPOPLPUSH source destination timeout

    作用:从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

    当被弹出元素的列表不为空时,BRPOPLPUSH会将列表的右边的第一个元素弹出,并插入到一个指定的列表中

    当列表为空时,超过指定时间,返回nil和等待时间

    四、LINDEX key index

    作用:通过索引获取列表中的元素。列表索引从0开始,也可以用负数表示,-1表示列表的最后一个元素

    使用LPUSH向列表中插入2个元素,由于是从左边顺序插入,所以最后插入的就是左边第一个元素

    LINDEX myList 0 : 获取myList的第一个元素,即"Hello"

    LINDEX myList -1 : 从右边开始获取第一个元素,即"World"

    LINDEX myList 3 : 超出索引范围,返回nil

    五、LINSERT key BEFORE|AFTER pivot value

    作用:在列表的元素前或者后插入元素。当指定元素不存在列表中,不执行任何操作;当列表不存在时,不执行任何操作;若key不是列表类型,返回错误

    以上演示了向列表myList的元素"Hello"与"World"之间插入一个"PHP"

    当想要在myList列表中不存在的元素"Python"后插入"JAVA",命令执行失败,返回-1

    当列表不存在或为空时,进行LINSERT操作,命令执行失败,返回0

    返回值:命令执行成功,返回插入元素之后的列表的长度;没找互指定元素,返回-1;key不存在或为空列表,返回0

    六、LLEN key

    作用:获取列表的长度。

    返回值:如果key不存在,则会被当成一个空列表,返回0;如果key不是列表类型,返回错误

    七、LPOP key

    作用:移出并获取列表的第一个元素

    返回值:执行成功,返回列表的第一个元素,key不存在时,返回nil

    八、LPUSH key value1......valuen

    作用:将一个或多个值插入到列表头部

    返回值:LPUSH命令执行成功后,返回此时列表的长度;如果key不存在,一个空列表将会被创建并执行LPUSH操作;如果key存在,但不是列表类型,返回错误

    九、LPUSHX key value

    作用:将一个或多个值插入到已存在的列表头部,列表不存在时操作无效

    操作执行成功时,返回此时列表的长度

    当操作一个不存在的列表时,操作无效,返回0

    十、LRANGE key start stop

    作用:获取列表指定范围内的元素

    start:从0开始,0表示左边第一个元素,以此类推

    stop:若为正数,则含义与start相同;若为负数,则表示从右边数起,如-1表示右边起第一个元素,-2表示右边起第二个元素,以此类推

    LRANGE list3 0 -1:表示从左边第一个元素开始取到右边第一个元素,也就是取出整个列表的元素

    LRANGE list3 0 1:从左边第一个元素取到第二个元素

    LRANGE list3 0 0:从第一个元素取到第一个元素,即第一个元素本身

    注意:[start, stop]是闭区间

    十一、LREM key count value

    作用:移出列表元素

    当count=0时;移出key中所有与value相等的值,返回移出元素的数量

    当count>0时;从列表左边开始,移出数量为count的与value相等的值

    当count<0时;从右边开始,移出数量为count的绝对值的与value相等的值

    当列表不存在时,返回0

    十二、LSET key index value

    作用:通过索引设置列表元素的值

    使用LSET操作,索引上的新值将会替换旧值

    当LSET操作超出索引范围时,将报索引参数超出范围错误;操作一个不存在的列表时,报"no such key"错误

    十三、LTRIM key start stop

    作用:删除列表中不在指定区间内的元素

    LTRIM将列表中不在区间[start, stop]中的元素删除,操作成功返回ok

    十四、RPOP key

    作用:移出并获取列表的最后一个元素

    RPOP删除列表的最后一个元素,操作成功返回被删除的元素;当操作一个不存在的列表时,返回nil

    十五、RPOPLPUSH source destination

    作用:移出列表的最后一个元素,并将该元素插入到另一个列表中

    操作成功,返回被移出的元素

    十六、RPUSH key value1......valuen

    作用:从列表的右边插入一个或多个元素

    十七、RPUSHX key value

    作用:从右边向一个已存在的列表插入元素

    操作成功返回此时列表的长度;操作一个不存在的列表时,返回0

  • 相关阅读:
    Nilearn教程系列(2)-3D和4D niimgs:处理和可视化
    Python-EEG工具库MNE中文教程(9)-参考电极应用
    EEMD算法原理与python实现
    Python-EEG工具库MNE中文教程(8)-参考电极简介
    联想笔记本 thinkpad BIOS 超级密码 Supervisor Password 清除 破解 亲测有效 转载地址https://blog.csdn.net/ot512csdn/article/details/72571674
    C Primer Plus 学习 第四章
    C Primer Plus 学习 第三章
    六 BASH 高级变量
    五 shell 变量与字符串操作
    四 shell基本命令
  • 原文地址:https://www.cnblogs.com/zhaodahai/p/6825398.html
Copyright © 2011-2022 走看看