redis
Comment se connecter à Redis en Java en utilisant Jedis
Recherche…
Introduction
Il existe plus de dix bibliothèques client différentes à utiliser avec Redis en Java. Jedis est l'un des clients les plus populaires.
Remarques
Informations complémentaires:
Obtenir Jedis
La bibliothèque Jedis est généralement ajoutée au projet Java à l'aide d'un système de gestion des dépendances intégré à l'environnement de construction du projet. Maven et Gradle sont deux systèmes Java populaires.
Utiliser Gradle
Pour ajouter la bibliothèque Jedis à un projet Gradle, vous devez configurer un référentiel et ajouter une dépendance. L'extrait suivant montre comment ajouter la version 2.9.0 de la bibliothèque Jedis à un projet Gradle.
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
Utiliser Maven
Pour ajouter Jedis à un projet Maven, vous devez ajouter une dépendance à votre liste de dépendances et fournir les coordonnées de la bibliothèque. L'extrait suivant serait ajouté à votre fichier pom.xml:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
Connexion à Redis
Utiliser un pool
La plupart du code voudra se connecter à Redis en utilisant un pool d'objets de connexion partagés. La connexion à Redis via un pool implique deux blocs de code différents. Au moment de l'initialisation, votre application doit créer le pool de connexions:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
JedisPoolConfig
fournit des options pour régler le pool.
Au fur et à mesure que votre application traite sa charge de travail, vous devez vous connecter au pool partagé à l'aide du code suivant:
try (Jedis jedis = pool.getResource()) {
...
}
La meilleure pratique consiste à extraire l'objet de connexion Jedis
du pool dans un bloc try-with-resources.
Sans piscine
Dans certains cas, tels qu'une application simple ou un test d'intégration, vous ne souhaitez peut-être pas gérer des pools partagés et créer directement l'objet de connexion Jedis
. Cela peut être accompli avec le code suivant:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
Encore une fois, la meilleure pratique consiste à créer l'objet client Jedis dans un bloc try-with-resources.
Exécution de commandes Get / Set de base
Une fois que vous avez établi une connexion à Redis, vous pouvez obtenir et définir des valeurs à l'aide de l'objet de connexion Jedis
:
Obtenir
String value = jedis.get(myKey);
Ensemble
jedis.put(myKey, "some value");
Exécution des commandes
Pour exécuter une commande Redis à l'aide de Jedis, vous effectuez des appels de méthode contre l'objet Jedis
créé à partir du pool. Jedis expose les commandes Redis comme des appels de méthode, par exemple:
- 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 vous vouliez définir la valeur d'une clé String dans Redis, vous utiliseriez un bloc de code similaire à:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}