redis
Come connettersi a Redis in Java usando Jedis
Ricerca…
introduzione
Esistono più di dieci diverse librerie client da utilizzare con Redis in Java. Uno dei clienti più popolari è Jedis .
Osservazioni
Ulteriori informazioni:
Ottenere Jedis
La libreria Jedis viene generalmente aggiunta al progetto Java utilizzando un sistema di gestione delle dipendenze integrato nell'ambiente di generazione del progetto. Due famosi sistemi di build Java sono Maven e Gradle.
Usando Gradle
Per aggiungere la libreria Jedis a un progetto Gradle, è necessario configurare un repository e aggiungere una dipendenza. Il seguente frammento mostra come aggiungere la versione 2.9.0 della libreria Jedis a un progetto Gradle.
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
Usando Maven
Per aggiungere Jedis a un progetto Maven, devi aggiungere una dipendenza all'elenco delle dipendenze e fornire le coordinate della libreria. Il seguente frammento verrà aggiunto al tuo file pom.xml:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
Connessione a Redis
Usare una piscina
La maggior parte del codice vorrà connettersi a Redis usando un pool di oggetti di connessione condivisi. Il collegamento a Redis tramite pool richiede due blocchi di codice diversi. Al momento dell'inizializzazione, l'applicazione deve creare il pool di connessioni:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
JedisPoolConfig
fornisce opzioni per l'ottimizzazione del pool.
Poiché l'applicazione elabora il suo carico di lavoro, sarà necessario ottenere una connessione dal pool condiviso usando il seguente codice:
try (Jedis jedis = pool.getResource()) {
...
}
La migliore pratica è ottenere l'oggetto connessione Jedis
dal pool all'interno di un blocco try-with-resources.
Senza piscine
In alcuni casi, ad esempio una semplice applicazione o un test di integrazione, potresti non voler gestire i pool condivisi e invece creare direttamente l'oggetto di connessione Jedis
. Questo può essere ottenuto con il seguente codice:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
Di nuovo, la procedura migliore è creare l'oggetto client Jedis all'interno di un blocco try-with-resources.
Esecuzione dei comandi Get / Set di base
Una volta stabilita una connessione a Redis, è possibile ottenere e impostare valori utilizzando l'oggetto di connessione Jedis
:
Ottenere
String value = jedis.get(myKey);
Impostato
jedis.put(myKey, "some value");
Esecuzione di comandi
Per eseguire un comando Redis usando Jedis, si effettuano chiamate di metodo contro l'oggetto Jedis
creato dal pool. Jedis espone i comandi Redis come chiamate di metodo, alcuni esempi sono:
- 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)
Se si desidera impostare il valore di una chiave String in Redis, si utilizzerà un blocco di codice simile a:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}