Я не мог найти способ «страницы» через хэши redis (doc).пейджинг через записи в redis hash
У меня есть ~ 5 миллионов записей хэша в 1 redis db. Я пытаюсь пройти через все из них, не прибегая к созданию списка ключей входа.
Возможно ли это?
Я не мог найти способ «страницы» через хэши redis (doc).пейджинг через записи в redis hash
У меня есть ~ 5 миллионов записей хэша в 1 redis db. Я пытаюсь пройти через все из них, не прибегая к созданию списка ключей входа.
Возможно ли это?
Поскольку все команды redis hash требуют ключевого элемента. Вам нужно сохранить свой набор ключей, чтобы разместить свой хэш.
См. Мой ответ на вопрос this question на примере ключевой итерации с использованием дополнительных наборов.
Невозможно избежать хранения дополнительных наборов (или списков) и по-прежнему выполнять итерацию на огромное количество ключей. Команда KEYS не является опцией.
У меня было то же требование Redis Hash Pagination, и да, можно сделать страницу с помощью redis хэш с помощью команды HSCAN. Детальная документация по этому же адресу присутствует на SCAN.
Использование: Hscan <your key/hash name> <cursor-id> count <page-size>
.
Идентификатор курсора, который должен быть передан изначально, равен 0, и он возвращает cursor-id
, а данные - page-size
. Возвращаемый идентификатор курсора должен быть передан в следующем вызове для извлечения последующих данных.