Получить диапазон ключей с Redis? - PullRequest
9 голосов
/ 16 января 2012

Что-то, что все время возникает с нашим набором данных на работе, нуждается в запросе множества значений с учетом диапазона ключей.Диапазоны дат являются очевидным примером.

Я знаю, что вы можете использовать метки времени Unix и отсортированный набор для запроса по диапазонам дат, но это раздражает, потому что мне нужно было бы либо

  1. поместить весь документ какзначение в отсортированном наборе, или
  2. , просто вставьте в него идентификаторы, затем попросите redis для каждого ключа.

Может, вариант 2 стандартный?Есть ли способ попросить Redis для нескольких ключей одновременно?Как $ mongodb в запросе?Или, возможно, запросить кучу ключей в конвейере так же быстро?

Ответы [ 2 ]

7 голосов
/ 16 января 2012

Варианты 2, поместите идентификаторы в отсортированный набор, затем используйте mget для получения значений. Если ваши ключи являются хешами, вам нужно выдать несколько hget, но преимущество заключается в том, что вы можете вытащить определенные части объекта, которые вам действительно нужнывместо всегоЭто очень быстро на практике.

1 голос
/ 06 февраля 2015

Может быть, поможет какая-то магия bash?

echo 'keys YOURKEY*' | redis-cli | sed 's/^/get /' | redis-cli 

Это выведет данные со всех клавиш, начинающихся с YOURKEY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...