• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • xrevrange 命令

    xrevrange命令与XRANGE完全相同,但显著的区别是以相反的顺序返回条目,并以相反的顺序获取开始-结束参数:在XREVRANGE中,你需要先指定结束ID,再指定开始ID,该命令就会从结束ID侧开始生成两个ID之间(或完全相同)的所有元素。

    语法

    XREVRANGE key end start [COUNT count]
    • key:队列名。
    • end:结束值,+ 表示最大值。
    • start:开始值,- 表示最小值。
    • count:数量。

    返回值

    此命令返回ID在指定区间的条目,从较高的ID到较低的ID中匹配。返回的条目是完整的,这意味着将返回ID及其组成的所有字段。此外,返回的条目及其字段和值的顺序与以使用XADD添加的完全相同。


    例子

    例如,要获得从较高ID到较低ID的所有元素,可以使用:

    XREVRANGE + -
    

    类似于只获取添加到流中的最后一个元素,可以使用:

    XREVRANGE + - COUNT 1
    


    使用XREVRANGE迭代

    XRANGE一样,此命令可以用于迭代整个流的内容,但请注意,在这种情况中,下一个命令调用应该使用最后一个条目的ID,序列号减1。但如果序列号已经是0,则ID的时间部分应该减1,且序列号部分应该设置成最大可能的序列号,即18446744073709551615,或者可以完全省略,命令将自动假设它是这样一个数字。

    redis> XREVRANGE writers + - COUNT 2
    1) 1) 1526985723355-0
       2) 1) "name"
          2) "Ngozi"
          3) "surname"
          4) "Adichie"
    2) 1) 1526985712947-0
       2) 1) "name"
          2) "Agatha"
          3) "surname"
          4) "Christie"
    


    返回的最后ID是1526985712947-0,因为序列号已经是0,下一个ID我将不使用特殊ID+,而是1526985712946-18446744073709551615,或者只是18446744073709551615

    redis> XREVRANGE writers 1526985712946-18446744073709551615 - COUNT 2
    1) 1) 1526985691746-0
       2) 1) "name"
          2) "Toni"
          3) "surname"
          4) "Morris"
    2) 1) 1526985685298-0
       2) 1) "name"
          2) "Jane"
          3) "surname"
          4) "Austen"
    


    例子

    redis> XADD writers * name Virginia surname Woolf
    "1539863673862-0"
    
    redis> XADD writers * name Jane surname Austen
    "1539863673863-0"
    
    redis> XADD writers * name Toni surname Morris
    "1539863673865-0"
    
    redis> XADD writers * name Agatha surname Christie
    "1539863673866-0"
    
    redis> XADD writers * name Ngozi surname Adichie
    "1539863673867-0"
    
    redis> XLEN writers
    (integer) 5
    
    redis> XREVRANGE writers + - COUNT 1
    1) 1) "1539863673867-0"
       2) 1) "name"
          2) "Ngozi"
          3) "surname"
          4) "Adichie"
    

    上篇:xrange 命令

    下篇:xread 命令