redis
Cómo conectarse a Redis en Java usando Jedis
Buscar..
Introducción
Hay más de diez bibliotecas de clientes diferentes para usar con Redis en Java. Uno de los clientes más populares es Jedis .
Observaciones
Más información:
Obteniendo Jedis
La biblioteca Jedis generalmente se agrega al proyecto Java utilizando un sistema de administración de dependencias integrado en el entorno de compilación del proyecto. Dos sistemas de construcción Java populares son Maven y Gradle.
Usando gradle
Para agregar la biblioteca Jedis a un proyecto de Gradle, necesitará configurar un repositorio y agregar una dependencia. El siguiente fragmento de código muestra cómo agregar la versión 2.9.0 de la biblioteca Jedis a un proyecto de Gradle.
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
Usando maven
Para agregar Jedis a un proyecto de Maven, debe agregar una dependencia a su lista de dependencias y proporcionar las coordenadas de la biblioteca. El siguiente fragmento de código se agregaría a su archivo pom.xml:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
Conectando a Redis
Usando una piscina
La mayoría de los códigos querrán conectarse a Redis utilizando un conjunto de objetos de conexión compartidos. Conectarse a Redis usando un grupo implica dos bloques de código diferentes. En el momento de la inicialización, su aplicación necesita crear el grupo de conexiones:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
El JedisPoolConfig
proporciona opciones para ajustar el grupo.
A medida que la aplicación procesa su carga de trabajo, deberá obtener una conexión del grupo compartido utilizando el siguiente código:
try (Jedis jedis = pool.getResource()) {
...
}
La mejor práctica es obtener el objeto de conexión Jedis
de la agrupación dentro de un bloque try-with-resources.
Sin piscinas
En algunos casos, como una aplicación simple o una prueba de integración, es posible que no desee tratar con grupos compartidos y, en su lugar, crear el objeto de conexión Jedis
directamente. Eso se puede lograr con el siguiente código:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
Una vez más, la mejor práctica es crear el objeto cliente Jedis dentro de un bloque try-with-resources.
Ejecutando Comandos básicos de Get / Set
Una vez que haya establecido una conexión con Redis, puede obtener y establecer valores utilizando el objeto de conexión Jedis
:
Obtener
String value = jedis.get(myKey);
Conjunto
jedis.put(myKey, "some value");
Comandos de ejecución
Para ejecutar un comando Redis utilizando Jedis, realice llamadas de método contra el objeto Jedis
que creó desde el grupo. Jedis expone los comandos de Redis como llamadas de método, algunos ejemplos son:
- String get(String key)
- Long geoadd(String key, double longitude, double latitude, String member)
- List<String> hmget(String key, String... fields)
- Long hsetnx(String key, String field, String value)
Si quisiera establecer el valor de una clave de cadena en Redis, usaría un bloque de código similar a:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}