Как искать в Redis? - PullRequest
       5

Как искать в Redis?

2 голосов
/ 30 сентября 2011

В MySQL у меня есть таблица с именем:

cities, который включает 2 столбца: name и population

и затем я получаю результаты поиска с этим:

SELECT * FROM cities WHERE name LIKE '%Bu%' ORDER by population DESC LIMIT 2

И я получаю результаты Bucharest, Budapest.

Как я могу сделать это в Redis? Я имею в виду, как я могу создать подобную структуру, а затем, как я могу искать значения?

1 Ответ

7 голосов
/ 30 сентября 2011

Я думаю, вам нужно еще немного изучить, как работает хранилище значений ключей, но если использовать ваш пост в качестве упрощенного примера, один способ сделать это - создать ключи для всех ваших значений, а затем создайте индексы, соответствующие этим ключам, например:

SET c1 "Bucharest"
SET c3 "Budapest"
SADD city:bu c1
SADD city:bu c3
SMEMBERS city:bu

=> ["c1", "c3"]

вы можете использовать: http://try.redis -db.com / , чтобы опробовать его.

чтобы расширить это для поиска 3 символов:

SADD city:buc c1
SMEMBERS city:buc

=> [ "c1"]

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

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