Как мне искать строки в Redis? - PullRequest
31 голосов
/ 19 июня 2011

Я хочу функцию автозаполнения. У меня есть короткие описательные строки на свойство типа данных. У меня есть список идентификаторов в Redis для тип данных упорядочен по дате создания, и я использую идентификаторы для установки и получения свойства для типа данных, как описано в типе redis документация. Я не использую хеш-таблицы. Какой лучший способ получить набор строк, совпадающих с набранными в автозаполнении ввода коробка дала эту настройку? Проходя все идентификаторы и проверяя собственность Я хочу искать - каждое нажатие клавиши кажется неправильным способом этот.

EDIT: В дополнение к ответам ниже, мне показали это:

http://antirez.com/post/autocomplete-with-redis.html

Ответы [ 2 ]

10 голосов
/ 19 июня 2011

Вам нужно настроить индекс, используя наборы или отсортированные наборы, которые вы записываете, когда сохраняете что-либо.

Есть хорошая запись в http://web.archive.org/web/20121013063245/http://playnice.ly/blog/2010/05/05/a-fast-fuzzy-full-text-index-using-redis, которая довольно близка к тому, что я использую сам.

4 голосов
/ 19 июня 2011

В Redis нет способа поиска значения ключа. Единственный способ «найти» строку - это команда keys. Единственным недостатком является то, что он ищет имена ключей, а не значение. Вы можете обойти это, используя строку поиска в качестве ключа и затем указав в качестве значения ключа указанный идентификатор. Я использую функцию автозаполнения на своей стороне, и я использую другую базу данных, которая просто содержит строки поиска с идентификатором в качестве значения.

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