redis
Hur man ansluter till Redis i Java med Jedis
Sök…
Introduktion
Det finns mer än tio olika klientbibliotek att använda med Redis i Java. En av de mest populära kunderna är Jedis .
Anmärkningar
Vidare information:
Skaffa Jedis
Jedis-biblioteket läggs generellt till Java-projektet med ett beroendehanteringssystem inbyggt i projektets byggmiljö. Två populära Java build-system är Maven och Gradle.
Använda Gradle
För att lägga till Jedis-biblioteket i ett Gradle-projekt måste du konfigurera ett arkiv och lägga till ett beroende. Följande fragment visar hur du lägger till version 2.9.0 av Jedis-biblioteket till ett Gradle-projekt.
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
Använda Maven
För att lägga till Jedis till ett Maven-projekt måste du lägga till ett beroende i din beroendelista och ange koordinaterna för biblioteket. Följande kodavsnitt läggs till i din pom.xml-fil:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
Ansluter till Redis
Använda en pool
De flesta koden vill ansluta till Redis med en pool med delade anslutningsobjekt. Att ansluta till Redis med en pool innebär två olika kodblock. Vid initialisering måste din applikation skapa anslutningspool:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
JedisPoolConfig
ger alternativ för att ställa in poolen.
När din ansökan behandlar sin arbetsbelastning måste du få en anslutning från den delade poolen med följande kod:
try (Jedis jedis = pool.getResource()) {
...
}
Bästa praxis är att få Jedis
anslutningsobjektet från poolen inom ett försök med resursblock.
Utan pooler
I vissa fall, till exempel en enkel applikation eller ett integreringstest, kanske du inte vill hantera delade pooler och istället skapa Jedis
anslutningsobjektet direkt. Detta kan åstadkommas med följande kod:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
Återigen är bästa praxis att skapa Jedis-klientobjektet i ett test-med-resursblock.
Utför grundläggande Get / Set-kommandon
När du har upprättat en anslutning till Redis kan du få och ställa in värden med Jedis
anslutningsobjektet:
Skaffa sig
String value = jedis.get(myKey);
Uppsättning
jedis.put(myKey, "some value");
Utför kommandon
För att utföra ett Redis-kommando med Jedis, gör du metodsamtal mot Jedis
objektet du skapade från poolen. Jedis exponerar Redis-kommandon som metodsamtal, några exempel är:
- 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)
Om du ville ställa in värdet på en strängnyckel i Redis skulle du använda ett kodblock liknande:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}