Как сделать поиск в Redis? - PullRequest
2 голосов
/ 22 января 2020

Я новичок в реализации кэша Redis. Я хочу найти значение во всех ключах. Значения могут быть или не быть вложенными коллекциями списка. Какую команду я должен использовать это для поиска данных? https://github.com/antirez/redis/issues/6802

Я реализую то же самое в. net ядре. https://github.com/StackExchange/StackExchange.Redis

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Вы обязательно должны взглянуть на http://redisearch.io/, который добавляет очень мощные возможности поиска в Redis

RediSearch!

0 голосов
/ 22 января 2020

Если вы просто хотите искать внутри ключа ha sh, как на скриншоте, вы можете использовать HSCAN для обхода всех полей ha sh, это возвращает значение как хорошо. Затем проверьте значение на стороне клиента. Или вы можете переместить этот лог c в Lua script, чтобы сделать это на стороне сервера Redis.

Если вы хотите выполнить поиск по всем ключам, учтите следующее:

  • Вам нужно будет пройтись по всему пространству клавиш, ключ за ключом, используя SCAN.
  • В зависимости от типа выполните поиск внутри ключа .
  • Наборы и отсортированные наборы можно искать с помощью SSCAN и ZSCAN для значений, используя опцию MATCH.
  • Для всех других типов вам необходимо выполнить поиск самостоятельно.

Опять же, вы можете реализовать вышеизложенное в Lua сценарии для более эффективной реализации. Этот ответ поможет вам начать.

...