【问题标题】:How to count number of keys with value matching a pattern in redis-py?如何计算值与redis-py中的模式匹配的键数?
【发布时间】:2019-07-01 03:20:32
【问题描述】:

如何计算与 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

我查看了文档,但找不到任何合适的东西。我想过拉出所有的键和值,然后将它们逐个循环计数匹配我的模式的值,但它看起来效率低下,应该有更好的方法。

【问题讨论】:

  • 别无他法。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-23
    • 2019-05-11
    • 2023-03-21
    • 1970-01-01
    • 2015-07-08
    • 2020-02-18
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多