• PHP-redis命令之 列表(lists)


    三、列表(lists)

    1.lpush:将所有指定的值插入到存于 key 的列表的头部。如果 key 不存在,那么在进行 push 操作前会创建一个空列表。 如果 key 对应的值不是一个 list 的话,那么会返回一个错误。

    可以使用一个命令把多个元素 push 进入列表,只需在命令末尾加上多个指定的参数。元素是从最左端的到最右端的、一个接一个被插入到 list 的头部。 所以对于这个命令例子 LPUSH mylist a b c,返回的列表是 c 为第一个元素, b 为第二个元素, a 为第三个元素。

      $redis->lpush('mylist','word','b','c');

       $redis->lrange('mylist',0,-1); //输出 array(3) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(4) "word" }

    2.lpushx:只有当 key 已经存在并且存着一个 list 的时候,在这个 key 下面的 list 的头部插入 value。 与 LPUSH 相反,当 key 不存在的时候不会进行任何操作。

       $redis->lpush('mylist','word','b','c'); //输出 int(3)
       $redis->lpushx('motherlist','22'); //输出 int(0)

    3.rpush:向存于 key 的列表的尾部插入所有指定的值。如果 key 不存在,那么会创建一个空的列表然后再进行 push 操作。 当 key 保存的不是一个列表,那么会返回一个错误。

    可以使用一个命令把多个元素打入队列,只需要在命令后面指定多个参数。元素是从左到右一个接一个从列表尾部插入。 比如命令 RPUSH mylist a b c 会返回一个列表,其第一个元素是 a ,第二个元素是 b ,第三个元素是 c。

      $redis->rpush('mylist','word','b','c');  

      $redis->lrange('mylist',0,-1); //输出 array(3) { [0]=> string(1) "word" [1]=> string(1) "b" [2]=> string(4) "c" }

    4.rpushx:将值 value 插入到列表 key 的表尾, 当且仅当 key 存在并且是一个列表。 和 RPUSH 命令相反, 当 key 不存在时,RPUSHX 命令什么也不做。

      $redis->rpush('mylist','word','b','c'); //输出 int(3)
       $redis->rpushx('motherlist','22'); //输出 int(0)

    5.lpop:移除并且返回 key 对应的 list 的第一个元素。

      $redis->lpush('mylist','word','b','c');

      $redis->lpop('mylist');//输出 string(1) "c"

    6.rpop:移除并返回存于 key 的 list 的最后一个元素。

      $redis->lpush('mylist','word','b','c');

      $redis->rpop('mylist');//输出 string(1) "word"

    7.lset:设置 index 位置的list元素的值为 value。当index超出范围时会返回一个error(相对于修改元素的value)。

      $reids->lset('mylist',0,'pp');//输出 array(3) { [0]=> string(2) "pp" [1]=> string(1) "b" [2]=> string(4) "word" }

    8.llen:返回存储在 key 里的list的长度。 如果 key 不存在,那么就被看作是空list,并且返回长度为 0。 当存储在 key 里的值不是一个list的话,会返回error。

      $redis->llen('mylist');//输出 int(3)

    9.lindex:返回列表里的元素的索引 index 存储在 key 里面。 下标是从0开始索引的,所以 0 是表示第一个元素, 1 表示第二个元素,并以此类推。 负数索引用于指定从列表尾部开始索引的元素。在这种方法下,-1 表示最后一个元素,-2 表示倒数第二个元素,并以此往前推。当 key 位置的值不是一个列表的时候,会返回一个error。

      $redis->lindex('mylist',0);//输出 string(2) "pp"

    10.linsert:把 value 插入存于 key 的列表中在基准值 pivot 的前面或后面。当 key 不存在时,这个list会被看作是空list,任何操作都不会发生。当 key 存在,但保存的不是一个list的时候,会返回error。

      $redis->linsert('mylist',);

  • 相关阅读:
    OS X进程管理之launchctl
    varnish-4.x 之varnishlog,varnishstat,varnishtop,varnishhist
    Java ClassLoader详解(转载)
    java线程中断[interrupt()函数] (转载)
    Struts2实例详解(转载)
    java 重定向和转发(转载)
    Java中Class.forName()的作用(转载)
    JSP页面的编码设置(转载)
    Struts2 实例(转载)
    Spring AOP(转载)
  • 原文地址:https://www.cnblogs.com/zouzhe0/p/7436117.html
Copyright © 2020-2023  润新知