redis
Verbinding maken met Redis in Java met behulp van Jedis
Zoeken…
Invoering
Er zijn meer dan tien verschillende clientbibliotheken om te gebruiken met Redis in Java. Een van de meest populaire klanten is Jedis .
Opmerkingen
Verdere informatie:
Jedis halen
De Jedis-bibliotheek wordt over het algemeen toegevoegd aan het Java-project met behulp van een afhankelijkheidsbeheersysteem dat is ingebouwd in de buildomgeving van het project. Twee populaire Java-buildsystemen zijn Maven en Gradle.
Gradle gebruiken
Om de Jedis-bibliotheek aan een Gradle-project toe te voegen, moet u een repository configureren en een afhankelijkheid toevoegen. Het volgende fragment laat zien hoe u versie 2.9.0 van de Jedis-bibliotheek kunt toevoegen aan een Gradle-project.
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
Maven gebruiken
Als u Jedis wilt toevoegen aan een Maven-project, moet u een afhankelijkheid toevoegen aan uw lijst met afhankelijkheid en de coördinaten van de bibliotheek opgeven. Het volgende fragment zou aan uw pom.xml-bestand worden toegevoegd:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
Verbinding maken met Redis
Een zwembad gebruiken
De meeste code wil verbinding maken met Redis met een pool van gedeelde verbindingsobjecten. Verbinding maken met Redis met behulp van een pool omvat twee verschillende codeblokken. Bij initialisatie moet uw toepassing de verbindingspool maken:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
De JedisPoolConfig
biedt opties voor het afstemmen van de pool.
Aangezien uw toepassing de werklast ervan verwerkt, moet u een verbinding van de gedeelde pool krijgen met de volgende code:
try (Jedis jedis = pool.getResource()) {
...
}
Best practice is om het Jedis
verbindingsobject uit de pool te halen binnen een try-with-resources-blok.
Zonder zwembaden
In sommige gevallen, zoals een eenvoudige toepassing of een integratietest, wilt u misschien niet omgaan met gedeelde pools en in plaats daarvan rechtstreeks het Jedis
verbindingsobject maken. Dat kan worden bereikt met de volgende code:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
Nogmaals, de beste praktijk is om het Jedis-clientobject te maken binnen een try-with-resources-blok.
Basisopdrachten voor ophalen / instellen uitvoeren
Nadat u een verbinding met Redis hebt gemaakt, kunt u waarden Jedis
en instellen met behulp van het Jedis
verbindingsobject:
Krijgen
String value = jedis.get(myKey);
reeks
jedis.put(myKey, "some value");
Commando's uitvoeren
Om een Redis-opdracht uit te voeren met Jedis, voert u methodeaanroepen uit tegen het Jedis
object dat u vanuit de pool hebt gemaakt. Jedis onthult Redis-opdrachten als methode-aanroepen, enkele voorbeelden zijn:
- 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)
Als u de waarde van een String-sleutel in Redis wilt instellen, zou u een codeblok gebruiken dat lijkt op:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}