Redis son las siglas de Remote Dictionary Server. Fue escrito en C por Salvatore Sanfilippo en 2006 y actualmente cuenta con muchos colaboradores. Hay clientes de Redis disponibles para más de 30 lenguajes de programación. El proyecto de código abierto se puede obtener desde https://github.com/antirez/redis.
Redis es un proyecto de código abierto bien establecido y ha sido utilizado en producción durante años por grandes empresas, como Twitter, GitHub, Tumblr, Pinterest, Instagram Hulu, Flickr y The New York Times.
Proyecto que contiene las configuraciones de los servicios para los diferentes entornos.
Para la instalacion se requiren los siguientes componentes:
Ejecutar el siguiente comando para clonar el repositorio
El contenido del docker-compose.yml se describe a continuación:
Acceder al directorio del repositorio ./gestion-entornos/redis/docker-compose/redis-cluster
y ejecutar el siguiente comando:
El comando inicia los contenedores y lo ejecuta en segundo plano
Para verificar la correcta ejecución de los contenedores, se debe ejecutar el siguiente comando:
Gestor de escritorio para redis compatible para Linux, windows y mac.
La aplicación puede ser descargada de la siguiente dirección:
Vista inicial de la aplicación
Vista de creación de una nueva conexión
Vista de acceso al Redis
Vista principal del server Redis
Spring Data Redis, proporciona las abstracciones de la plataforma Spring Data a Redis
Para definir la configuración de la conexión entre el cliente y el servidor Redis, es necesario la utilización de un cliente de Redis. Hay diversas implementaciones de clientes para Redis disponibles para el lenguaje Java. Para este ejemplo se utilizará Lettuce (Advanced Java Redis client)
En necesario la creación de una clase para la configuración del Redis.
Crear la clase RedisConfig dentro del proyecto java con el siguiente contenido:
La clase tiene la responsabilidad de crear los objetos necesarios para la conexión con el servidor Redis.
Para la utilización del Redis se ha generado los siguientes archivos :
Anotación que permite identificar donde será requerido el acceso al servidor de Redis
Clase de Aspecto que intercepta las invocaciones de métodos de servicio, todas las clases de Aspecto debe llevar la anotación @Aspect
Clase que implementa el algoritmo hash FNV (Fowler Noll Vo)
En las implementaciones de los servicios agregamos la anotacion @SiareCache
[1] Redis. Introduction to Redis. Recuperado el 27 de mayo del 2022, de https://redis.io/docs/about/