当前位置: 首页 > 知识库问答 >
问题:

Redis扫描计数:如何强制扫描返回匹配一个模式的所有键?

费明诚
2023-03-14

我正在尝试找出存储在一个匹配Redis模式的键列表中的值。我尝试使用scan以便稍后使用mget获取所有值,但问题是:

SCAN 0 MATCH "foo:bar:*" COUNT 1000
SCAN 0 MATCH "foo:bar:*" COUNT 10000

返回所需的键。如何强制scan查看所有现有键?我得去查lua吗?

共有1个答案

仇迪
2023-03-14

使用下面的代码,您将从光标0扫描1000个第一个对象

SCAN 0 MATCH "foo:bar:*" COUNT 1000 

结果,您将获得一个新的光标来重新调用

SCAN YOUR_NEW_CURSOR MATCH "foo:bar:*" COUNT 1000

扫描1000个下一个对象。然后,当您将count从1000增加到10000并检索数据时,您将扫描更多的密钥,然后在您的情况下匹配更多的密钥。

DB0:keys=your_amount_of_keys,expires=0,avg_ttl=0

然后打电话

SCAN 0 MATCH "foo:bar:*" COUNT YOUR_AMOUNT_OF_KEYS
 类似资料:
  • 问题内容: 我试图找出存储在与redis模式匹配的键列表中的值。我尝试使用,以便以后可以用来获取所有值,问题是: 不返回任何值,而 返回所需的键。我如何强制浏览所有现有键?我需要为此研究lua吗? 问题答案: 使用下面的代码,您将从光标0扫描1000个第一个对象 结果,您将获得一个新的光标以进行调用 扫描1000个下一个对象。然后,当您从1000增加到10000并检索数据时,您将扫描更多键,然后再

  • 我正在开发一个具有简单开关功能的程序,到目前为止,它一直对我有效。但是这次我在开关前的函数有问题。老实说,我不明白错误可能在哪里。这是代码: 我无法理解回报。扫描后,他要求我输入另一个输入以进入开关。否则它不会进入。在while的情况下,我重复这个循环,并在房屋上延迟输出。这是一个非常简单的程序。我不知道是开关问题还是扫描问题。请帮忙。

  • 问题内容: 我正在尝试与Laravel 一起使用Redis。我可以发出一个返回10个键的请求,但我希望循环直到所有键都返回。我不确定如何使用laravel进行此操作。目前我有 我不知道是否有一种“ laravel”的方式。 编辑: 我使用作曲家进行导入并与之合作 但是我想知道laravel的方式 编辑: var_dump的单 问题答案: 当Redis外观直接将命令传递给Predis(或您可能会说R

  • 找不到任何有关redis扫描匹配的信息

  • 我有一个Rails应用程序,通过制造过程跟踪我们的产品。我想有一个条形码扫描器在每个工作站和有员工扫描条形码为一个项目时,他已完成的工作为该项目。 有没有可能识别出10台条形码扫描仪中使用了哪一台? 我知道一些扫描仪能够在扫描的条形码之前输入前缀,所以我可以解析该前缀来识别所使用的扫描仪。我希望有另一种解决办法。

  • 问题内容: 我有一个具有数百万个密钥的redis数据库。有时候,我需要通过模式如查询键为我用。初次致电应该是 然后,它将返回一堆键和下一个光标;如果搜索完成,则返回0。 但是,如果我运行查询并且没有匹配的键,则仍然返回非零游标,但是键集为空。这种情况一直发生在每个后续查询中,因此搜索似乎不会在很长时间内结束。 Redis文档说 SCAN系列功能不保证每次调用返回的元素数在给定范围内。 还允许命令返