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.

También hemos proporcionado un 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:

Java
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");
    }
}
Kotlin
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")
    }
}
Puede registrar una cantidad arbitraria de beans que implementen 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.