gpt4 book ai didi

Redis 扫描计数 : How to force SCAN to return all keys matching a pattern?

转载 作者:IT王子 更新时间:2023-10-29 05:54:45 26 4
gpt4 key购买 nike

我试图找出存储在键列表中的值,这些值与 redis 中的模式相匹配。我尝试使用 SCAN 以便稍后我可以使用 MGET 获取所有值,问题是:

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

不返回任何值而

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

返回所需的键。我如何强制 SCAN 查看所有现有 key ?我是否必须为此调查 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 命令获取您的 key 数量,例如

db0:keys=YOUR_AMOUNT_OF_KEYS,expires=0,avg_ttl=0

然后调用

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

关于Redis 扫描计数 : How to force SCAN to return all keys matching a pattern?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33166812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com