如何计算与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
我查看了文档,但找不到合适的文档。我考虑过拉出所有键和值,然后逐个循环匹配与我的模式匹配的值,但是看起来效率很低,应该有更好的方法。
答案 0 :(得分:0)
您建议的是唯一可能的解决方案。就是说,如果您要过滤的值是一个数字,则可以使用排序集和ZRANK
来获得一些性能上的好处。使用redis,键空间组织就是游戏的名称。