计算键值与redis-py

时间:2019-07-01 03:20:32

标签: python-3.x redis redis-py

如何计算与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 个答案:

答案 0 :(得分:0)

您建议的是唯一可能的解决方案。就是说,如果您要过滤的值是一个数字,则可以使用排序集和ZRANK来获得一些性能上的好处。使用redis,键空间组织就是游戏的名称。