Introducción
Redis es un motor de base de datos en memoria y es utilizado en muchas empresas como base de datos, sistema de cache e incluso como message broker. Soporta estructuras de datos como Strings, hashes, lists, sets, etc. En este blog se explicará como iniciar un servidor de Redis y como conectarse a el utilizando Java.
Iniciando un servidor de Redis
El primer paso es descargar extraer y compilar Redis utilizando los siguientes comandos:
$ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar xzf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make
Una vez que todo se compiló correctamente el código compilado se encontrará en el folder src, para iniciar el servidor ejecutar el comando:
src/redis-server
Si el servidor se inicia de forma exitosa el siguiente paso es conectarse y empezar a utilizarlo:
src/redis-cli 127.0.0.1:6379> set mykey 1000 OK 127.0.0.1:6379> get mykey "1000" 127.0.0.1:6379>
En el ejemplo anterior se define una llave llamada mykey con un valor de 1000 y se obtiene el valor utilizando el comando get.
Accediendo a información en Redis desde Java utilizando Jedis
Para acceder a la información almacenada en Redis desde Java es necesario utilizar un cliente, existe un gran número de clientes en diferentes lenguajes, para ver la lista completa acceder a clientes redis, en este ejemplo se utilizará Jedis y es necesario incluir la siguiente dependencia en la aplicación:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
Una vez incluida la dependencia acceder a Redis solo se debe hacer lo siguiente:
import redis.clients.jedis.Jedis; /** * @author raidentrance * */ public class JedisTest { public static void main(String[] args) { Jedis client = new Jedis("localhost"); client.set("mykey", "value"); String value = client.get("mykey"); System.out.println(value); client.close(); } }
Estructuras de datos soportadas en Redis
Redis soporta las siguientes estructuras de datos:
- Strings: Es el tipo de dato más básico en Redis y puede contener cualquier tipo de información y tiene un límite de 512 Megabytes.
- Lists: Son listas comunes ordenadas por orden de inserción.
- Sets: Son colecciones des ordenadas y no permiten datos duplicados.
- Hashes: Son mapas entre campos y valores, esto los hace el tipo perfecto para almacenar objetos.
- Sorted sets: Son similares a los Sets la diferencia es que cada elemento de la colección es ordenado de acuerdo a un score.
En próximos posts se explicará como utilizar los comandos disponibles en Redis.
Puedes encontrar el código completo del ejemplo en el siguiente enlace: https://github.com/raidentrance/jedis-example
Autor: Alejandro Agapito Bautista
Twitter: @raidentrance
Contacto:raidentrance@gmail.com
Me gusto mucho su artículo, gracias
Me gustaMe gusta