Как искать строки в redis?
Мне нужна функция автозаполнения. У меня короткие описательные строки на
свойство типа данных. У меня есть список идентификаторов в redis для
тип данных, упорядоченный по дате создания, и я использую идентификаторы для установки и получения
свойства для типа данных, как описано в типе redis
документация. Я не использую хэш-таблицы. Какой лучший способ получить
набор строк, соответствующих тому, что было введено в ввод автозаполнения
поле с этой настройкой? Прохождение всех идентификаторов и проверка имущества
Я хочу искать - для каждого нажатия клавиши кажется неправильным способом делать
это.
EDIT:
В дополнение к приведенным ниже ответам мне было показано следующее:
http://antirez.com/post/autocomplete-with-redis.html
Ответы
Ответ 1
Вам нужно настроить индекс с помощью наборов или отсортированных наборов, на которые вы пишете, когда вы ничего сохраните.
Там хорошая запись в http://web.archive.org/web/20121013063245/http://playnice.ly/blog/2010/05/05/a-fast-fuzzy-full-text-index-using-redis, что очень близко к тому, что я использую сам.
Ответ 2
В Redis нет способа поиска значения ключа. Единственный способ, которым вы можете "найти" строку, - это команда keys
. Единственным недостатком является то, что он ищет имена ключей, а не значение. Способ, которым вы можете обойти это, заключается в том, что ваша строка поиска является ключом, а затем имеет значение указанного ключа вашего идентификатора. Я использую функцию автозаполнения на моей стороне, и я использую другую базу данных, которая содержит только строки поиска с идентификатором в качестве значения.