我试图找出存储在与redis模式匹配的键列表中的值。我尝试使用,SCAN
以便以后可以MGET
用来获取所有值,问题是:
SCAN 0 MATCH "foo:bar:*" COUNT 1000
不返回任何值,而
SCAN 0 MATCH "foo:bar:*" COUNT 10000
返回所需的键。我如何强制SCAN
浏览所有现有键?我需要为此研究lua吗?
使用下面的代码,您将从光标0扫描1000个第一个对象
SCAN 0 MATCH "foo:bar:*" COUNT 1000
结果,您将获得一个新的光标以进行调用
SCAN YOUR_NEW_CURSOR MATCH "foo:bar:*" COUNT 1000
扫描1000个下一个对象。然后,当您COUNT
从1000增加到10000并检索数据时,您将扫描更多键,然后再匹配更多键。
要扫描整个列表,您需要重新调用,SCAN
直到光标给出响应以返回零为止(即整个扫描)
使用INFO
命令来获取您的密钥数量,例如
db0:keys = YOUR_AMOUNT_OF_KEYS,expires = 0,avg_ttl = 0
然后打电话
SCAN 0 MATCH "foo:bar:*" COUNT YOUR_AMOUNT_OF_KEYS
我正在尝试找出存储在一个匹配Redis模式的键列表中的值。我尝试使用以便稍后使用获取所有值,但问题是: 返回所需的键。如何强制查看所有现有键?我得去查lua吗?
在Redis-Py中,我如何计算与模式匹配的键数?我发现了一些方法scan、scan_iter,但它们使用键名的模式进行搜索。 我需要的示例:
我正在使用带有npm包的node.js脚本来检索匹配模式的所有Redis键。匹配的一个示例是关键字。 使用Redis 4.0.11、Node.js 8.11.3、Redis 2.8.0 npm包 重新启动Redis。仍有不完整的扫描结果 删除了与模式匹配的所有键,并将一些键添加回来。现在所有的东西都在扫描时返回。在一个小时的播放后,它再次开始返回不完整的结果。重复此操作将无法修复此问题。
找不到任何有关redis扫描匹配的信息
我正在寻找与此非常相似的东西,只是我想要所有的匹配,而不仅仅是第一个。在javascript中,您可以添加一个“全局”修饰符来获得所有匹配项的列表,在Java中是否也有类似的可能?
问题内容: 如何找到具有匹配模式的所有键的计数。 例如,有两个键和。常见的模式是。因此,这里的计数是2。 如何在Redis中做到这一点? 问题答案: 免责声明 我希望这个旧答案不会损坏任何具有数百万把钥匙的生产系统。如果出于某种原因仍要在生产中仍然计算redis的匹配键,最好使用具有匹配模式的scan。 如果仅使用KEYS进行搜索,并使用Redis客户端,您将获得所有匹配密钥的数字列表,对吗? 例