【问题标题】:How to get index of latest element in List Redis?如何获取 List Redis 中最新元素的索引?
【发布时间】:2015-03-03 11:28:06
【问题描述】:

如何获取 List Redis 中最新元素的索引? 例如在List中存储了消息的id,我需要获取last ID消息并返回index这个元素。

【问题讨论】:

    标签: redis node-redis


    【解决方案1】:

    在 Redis 中,索引 -1 始终指向 LIST 中的最后一个元素

    这是一个更好的主意,尝试从列表的开头查找索引(LLEN 将是获取此索引的方法),因为如果有人在您获取索引之后但在您之前插入或删除一个项目访问元素,有些东西会坏掉。

    要获取 Redis 列表的最后一个元素,可以使用 LINDEX key -1 command。您还可以使用LPOP key 命令自动删除列表的最后一个元素。

    所有 Redis 命令的文档都可以在 http://redis.io/commands 找到。

    【讨论】:

    • 非常感谢。但对我来说还不够。例如有一个列表MESSAGES:0 - 101, 1 - 102, 2 - 103。我得到最后一个元素:LRANGE MESSAGES -1 -1。值:103 如何获取索引2
    • 如果你真的想要最后一个索引,而不是最后一个元素,你可以使用 LLEN 并从结果中减去一个。请注意,如果其他进程或线程正在访问您的 Redis 实例,这可能不是最后一个索引。
    • 会是$variable = LLEN MESSAGES; $variable = $variable - 1?
    • 你使用什么语言?
    • 我使用 PHP 和库 PHPREDIS
    【解决方案2】:

    要获取最后一个元素,您还可以使用:

    lrange mylist -1 -1 
    

    【讨论】:

      猜你喜欢
      • 2012-03-30
      • 1970-01-01
      • 2022-08-16
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多