Робота з 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.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ