количество ключей со значением, совпадающим с шаблоном в redis-py - PullRequest
1 голос
/ 01 июля 2019

Как подсчитать количество ключей со значением, совпадающим с шаблоном в 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 голосов
/ 20 июля 2019

То, что вы предложили, является единственно возможным решением.Тем не менее, если значение, по которому вы фильтруете, является числом, вы можете получить некоторые преимущества в производительности, используя отсортированные наборы и ZRANK.С помощью redis организация пространства ключей - это название игры.

...