Робота з NoSQL-технологіями
Spring Data передбачає додаткові проєкти, які допоможуть отримати доступ до різних NoSQL-технологій, включно з такими:
-
MongoDB
-
Neo4J
-
Elasticsearch
-
Redis
-
GemFire або Geode
-
Cassandra
-
Couchbase
-
LDAP
Spring Boot передбачає автоконфігурацію для Redis, MongoDB, Neo4j, Solr, Elasticsearch, Cassandra, Couchbase, LDAP та InfluxDB. До того ж, Spring Boot для Apache Geode передбачає автоконфігурацію для Apache Geode. Можна використовувати інші проєкти, але конфігурувати їх доведеться самостійно.
Redis
Redis — це кеш, брокер повідомлень та повнофункціональне сховище даних типу "ключ-значення". На додаток до цього Spring Boot містить базову автоконфігурацію для клієнтських бібліотек Lettuce та Jedis та абстракції, що надаються через Spring Data Redis.
Для зручного збирання залежностей існує "стартер" spring-boot-starter-data-redis. За промовчанням він використовує бібліотеку Lettuce. Цей стартовий пакет працює як з традиційними, так і з реактивними програмами.
spring-boot-starter-data-redis-reactive для забезпечення узгодженості з іншими сховищами, що підтримують реактивне програмування.
Підключення до Redis
Можна впровадити автоконфігуровані RedisConnectionFactory, StringRedisTemplate або ванільний екземпляр RedisTemplate, як і будь-який інший бін Spring. За замовчуванням екземпляр намагатиметься підключитися до сервера Redis за адресою localhost:6379. У наступному лістингу наведено приклад такого біна:
@Component public class MyBean { private final StringRedisTemplate template; public MyBean(StringRedisTemplate template) { this.template = template; } }
@Component class MyBean(private val template: StringRedisTemplate) { }
LettuceClientConfigurationBuilderCustomizer для більш поглибленого налаштування.
ClientResources можна також налаштовувати за допомогою
ClientResourcesBuilderCustomizer. Якщо ти використовуєш Jedis, також доступний
JedisClientConfigurationBuilderCustomizer. До того ж, можна зареєструвати бін типу
RedisStandaloneConfiguration,
RedisSentinelConfiguration або
RedisClusterConfiguration, щоб отримати повний контроль над конфігурацією.
Якщо ти додаси власний @Bean будь-якого з автоконфігурованих типів, він замінить собою тип за замовчуванням (крім випадку з RedisTemplate, якщо виняток ґрунтується на імені бінп, redisTemplate, а не на його типі).
За замовчуванням фабрика з'єднань в пулі автоматично конфігурується, якщо commons-pool2 знаходиться в classpath.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ