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