Lettuce ist ein skalierbarer, threadsicherer Redis-Client für synchrone, asynchrone und reaktive Nutzung. Mehrere Threads können eine Verbindung gemeinsam nutzen, wenn sie blockierende und transaktionale Vorgänge wie BLPOP
und MULTI
/ EXEC
vermeiden. Salat wird aus Netty hergestellt. Unterstützt erweiterte Redis-Funktionen wie Sentinel, Cluster, Pipelining, Auto-Reconnect und Redis-Datenmodelle.
Diese Version von Lettuce wurde mit dem neuesten Redis-Quellcode-Build getestet.
Weitere Einzelheiten finden Sie in der Referenzdokumentation und der API-Referenz.
Lernen Sie kostenlos an der Redis University
Probieren Sie die Redis Cloud aus
Tauchen Sie ein in Entwickler-Tutorials
Treten Sie der Redis-Community bei
Arbeite bei Redis
Informationen zu Binärdateien und Abhängigkeiten für Maven, Ivy, Gradle und andere finden Sie unter http://search.maven.org.
Veröffentlichungen von Salat sind im Maven Central-Repository verfügbar. Werfen Sie auch einen Blick auf die Veröffentlichungen.
Beispiel für Maven:
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z</ version >
</ dependency >
Wenn Sie lieber die neuesten Snapshots der kommenden Hauptversion möchten, verwenden Sie unser Maven-Snapshot-Repository und deklarieren Sie die entsprechende Abhängigkeitsversion.
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z.BUILD-SNAPSHOT</ version >
</ dependency >
< repositories >
< repository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshot Repository</ name >
< url >https://oss.sonatype.org/content/repositories/snapshots/</ url >
< snapshots >
< enabled >true</ enabled >
</ snapshots >
</ repository >
</ repositories >
RedisClient client = RedisClient . create ( "redis://localhost" );
StatefulRedisConnection < String , String > connection = client . connect ();
RedisStringCommands sync = connection . sync ();
String value = sync . get ( "key" );
Jeder Redis-Befehl wird durch eine oder mehrere Methoden implementiert, deren Namen mit dem kleingeschriebenen Redis-Befehlsnamen identisch sind. Komplexe Befehle mit mehreren Modifikatoren, die den Ergebnistyp ändern, enthalten den Modifikator CamelCased als Teil des Befehlsnamens, z. B. zrangebyscore und zrangebyscoreWithScores.
Weitere Einzelheiten finden Sie unter Grundlegende Verwendung.
StatefulRedisConnection < String , String > connection = client . connect ();
RedisStringAsyncCommands < String , String > async = connection . async ();
RedisFuture < String > set = async . set ( "key" , "value" );
RedisFuture < String > get = async . get ( "key" );
LettuceFutures . awaitAll ( set , get ) == true
set . get () == "OK"
get . get () == "value"
Weitere Details finden Sie unter Asynchrone API.
StatefulRedisConnection < String , String > connection = client . connect ();
RedisStringReactiveCommands < String , String > reactive = connection . reactive ();
Mono < String > set = reactive . set ( "key" , "value" );
Mono < String > get = reactive . get ( "key" );
set . subscribe ();
get . block () == "value"
Weitere Details finden Sie unter Reaktive API.
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
Salat wird mit Apache Maven erstellt. Die Tests erfordern mehrere laufende Redis-Instanzen für verschiedene Testfälle, die mithilfe eines Makefile
konfiguriert werden. Tests werden standardmäßig gegen Redis unstable
ausgeführt.
Zu bauen:
$ git clone https://github.com/redis/lettuce.git
$ cd lettuce/
$ make prepare ssl-keys
$ make test
redis
): make prepare
make ssl-keys
make test
make start
make stop
Für Fehler, Fragen und Diskussionen nutzen Sie bitte die GitHub Issues.
Github ist für Social Coding gedacht: Wenn Sie Code schreiben möchten, ermutige ich Sie zu Beiträgen über Pull-Requests von Forks dieses Repositorys. Erstellen Sie Github-Tickets für Fehler und neue Funktionen, kommentieren Sie diejenigen, die Sie interessieren, und werfen Sie einen Blick auf CONTRIBUTING.md