Найти в Дзене

Redis и Spring Data с самого начала. Часть 3

Статья подготовлена для студентов курса «Разработчик на Spring Framework» в образовательном проекте OTUS.

В первой части мы рассмотрели NoSQL базы данных, в частности Key-Value NoSQL БД, и обсудили одну из самых популярных NoSQL БД — Redis. Во второй части мы узнали, что такое Spring Data и Spring Data Redis Repositories. В этой части посмотрим на альтернативный вариант подключения к Redis с помощью различных *Operations-классов (ну, точнее, интерфейсов, реализации будут – *Templates).

Spring Data Redis Operations

Корневым интерфейсом является RedisOperations и из него можно получить все остальные, которые предоставляются на большинство типов данных Redis. С помощью таких классов можно более специфично реализовывать mapping сущностей, а также более эффективно утилизировать место в Redis.

Итак, напишем свой собственный репозиторий на их основе. Сама сущность:

-2

Допустим, мы хотим хранить эту сущность не в виде хэша, а компактно в виде строк (name) по ключу. Соответственно наш репозиторий:

-3

Обратите внимание, что мы из корневого класса RedisOperations получаем операции для работы со значениями .opsForValue(). В действительности, таких возможностей – почти под каждый тип данных.

Ну и наконец, код программы с бином RedisTemplate:

-4

Оставлю вам удовольствие самостоятельно разобраться, например, нужна или нет аннотация @Transactional на этом репозитории. Несложно догадаться, что после работы в базе останутся следующие данные:

-5

На этом всё. Успешного использования Redis!

Набор на курс «Разработчик на Spring Framework» уже идет, занятия начинаются 28 мая! Торопитесь присоединиться к группе:
ЗАПИСАТЬСЯ В ГРУППУ