Trabajar con tecnologías NoSQL
Spring Data tiene proyectos adicionales que lo ayudarán a acceder a varias tecnologías NoSQL, que incluyen:
-
MongoDB
-
Neo4J
-
Búsqueda elástica
-
Redis
-
GemFire o Geoda
-
Casandra
-
Base del sofá
-
LDAP
Spring Boot proporciona configuración automática para Redis, MongoDB, Neo4j, Solr, Elasticsearch, Cassandra, Couchbase, LDAP e InfluxDB. Además, Spring Boot para Apache Geode proporciona configuración automática para Apache Geode. Puedes utilizar otros proyectos, pero tendrás que configurarlos tú mismo.
Redis
Redis es un caché, un intermediario de mensajes y un almacén de valores-clave con todas las funciones. Además de esto, Spring Boot contiene configuración automática básica para las bibliotecas cliente Lettuce y Jedis y abstracciones proporcionadas a través de Spring Data Redis.
Para una recopilación conveniente de dependencias, existe un spring-boot-starter-data-redis
de “inicio”.
De forma predeterminada, utiliza la biblioteca Lettuce. Este paquete de inicio funciona con
aplicaciones tradicionales y reactivas.
spring-boot-starter-data-redis-reactive
"inicial" para garantizar la coherencia con otros repositorios
que admiten programación reactiva.
Conectarse a Redis
Puede implementar RedisConnectionFactory
, StringRedisTemplate
o una instancia básica de
RedisTemplate
autoconfigurable, como cualquier otro Spring Bean. De forma predeterminada, la instancia
intentará conectarse al servidor Redis en localhost:6379
. El siguiente listado muestra un ejemplo de
dicho bean:
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
private final StringRedisTemplate template;
public MyBean(StringRedisTemplate template) {
this.template = template;
}
// ...
public Boolean someMethod() {
return this.template.hasKey("spring");
}
}
import org.springframework.data.redis.core.StringRedisTemplate
import org.springframework.stereotype.Component
@Component
class MyBean(private val template: StringRedisTemplate) {
// ...
fun someMethod(): Boolean {
return template.hasKey("spring")
}
}
LettuceClientConfigurationBuilderCustomizer
para una personalización más profunda. ClientResources
también se puede personalizar usando ClientResourcesBuilderCustomizer
.
Si está utilizando Jedis, JedisClientConfigurationBuilderCustomizer
también está disponible. Además,
puede registrar un bean como RedisStandaloneConfiguration
, RedisSentinelConfiguration
o
RedisClusterConfiguration
para obtener control total sobre la configuración.
Si agrega un @Bean
personalizado de cualquiera de los tipos configurados automáticamente, anulará el
tipo predeterminado (excepto en el caso de RedisTemplate
, si la excepción se basa en el nombre del
bean, redisTemplate
, y no en su tipo).
De forma predeterminada, la fábrica de conexiones del grupo se configura automáticamente si
commons-pool2
está en el classpath.