如何在redis-py中计算值与模式匹配的键数?

3

我该如何在redis-py中计算值与模式匹配的键数?我已经找到了scan和scan_iter方法,但它们是根据键名搜索模式。

以下是我需要的示例:

r = redis.Redis(host='localhost', port=6379, db=0)
r.set('key1', 'bar')
r.set('key2', 'bar')
r.set('key3', 'bar')
keys_num = len(list(r.unknown_scan(match='bar')))
print(keys_num)
>>3

我查阅了文档,但没有找到合适的内容。我考虑将所有键和值提取出来,然后逐一循环计数与我的模式匹配的值,但这看起来效率低下,应该有更好的方法。


1
没有其他办法。 - sazzad
1个回答

1
你提出的是唯一可能的解决方案。也就是说,如果你过滤的值是数字,你可以通过使用有序集合和 ZRANK 来获得一些性能优势。在 Redis 中,键空间的组织是关键。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接