Поддерживает ли Redis Cache возможность запроса

Я изучаю кеш Redis, просто хотел знать, что он поддерживает возможность запросов.

У нас есть таблица местоположений, мы хотим хранить записи в кеше Redis (необходим поиск по имени или идентификатору местоположения).

Дайте мне знать, как мы создадим ключ для того же самого.

или нам нужно добавить две записи в кеш Redis

 jedis.set(TenantId+LocationName, Location)

 jedis.set(TenantId+LocationId, Location)

Заранее спасибо !!!


person java baby    schedule 11.03.2016    source источник


Ответы (1)


Redis позволяет выполнять запросы, но, как и в других базах данных NoSQL, вы хотите, чтобы данные хранились в нем в соответствии с тем, как вы собираетесь их запрашивать. Если вам нужно выполнить запрос либо по имени, либо по идентификатору, вам понадобятся две «записи» для облегчения этого (кстати, это не так уж отличается от того, что СУБД делает с индексами).

Однако вместо создания двух ключей — одного для поиска имени и другого для идентификатора — с помощью команды SET , вам следует рассмотреть возможность использования структуры данных Hash. Для каждого арендатора сохраните хеш с двумя полями для каждого местоположения — одно, которое сопоставляет имя с идентификатором и наоборот. В очень псевдо-Java вызов HMSET будет выглядеть так:

jedis.hmset(TenantId, <LocationName, Location, locationId, Location>);
person Itamar Haber    schedule 11.03.2016