【问题标题】:Fetch n number of keys from redis从redis中获取n个key
【发布时间】:2020-08-26 05:44:04
【问题描述】:

有什么方法可以从 redis 中获取 n 个键?

我在 redis 中有一个巨大的键列表,我如何一次获取 n 个键,例如一次获取 10k 条记录作为 CSV 文件。

提前致谢。

【问题讨论】:

  • 我都依赖于使用的redis数据类型。对于所有类型,您可以使用 SCAN,对于散列集 HSCAN 等等,如此处提到的redis.io/commands/scan
  • 如何在运行时决定检索哪些键?
  • @GuyKorland 我需要按字母顺序排列。有什么办法可以吗?
  • 您可能需要考虑使用 RediSearch 索引数据或使用 RedisGears 收集数据
  • 你也需要这些键的值吗?

标签: java caching redis


【解决方案1】:

我能想到的最简单的方法是使用scan 命令。它允许您通过返回可用于下一个查询的游标来遍历键。

例如 scan 0 count 10000 获取前 10k 个键,然后在响应中使用光标进行下一次迭代 scan <cursor> count 10000

如果您需要对密钥进行排序,那么我不确定是否有简单的解决方案,但您可以尝试使用 scanmatch 选项强制它。例如,要获取所有以“a”开头的前 10k 个键:scan 0 count 10000 match a*

【讨论】:

    猜你喜欢
    • 2017-09-12
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多