Lettuce es un cliente Redis escalable y seguro para subprocesos para uso sincrónico, asincrónico y reactivo. Varios subprocesos pueden compartir una conexión si evitan operaciones de bloqueo y transaccionales como BLPOP
y MULTI
/ EXEC
. La lechuga se construye con netty. Admite funciones avanzadas de Redis, como Sentinel, Cluster, Pipelining, Auto-Reconnect y modelos de datos de Redis.
Esta versión de Lettuce se ha probado con la última versión fuente de Redis.
Consulte la documentación de referencia y la referencia de API para obtener más detalles.
Aprende gratis en Redis University
Pruebe la nube de Redis
Sumérgete en los tutoriales para desarrolladores
Únete a la comunidad Redis
Trabaja en Redis
Los binarios y la información de dependencia para Maven, Ivy, Gradle y otros se pueden encontrar en http://search.maven.org.
Las versiones de lechuga están disponibles en el repositorio central de Maven. Echa también un vistazo a los Lanzamientos.
Ejemplo para Maven:
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z</ version >
</ dependency >
Si prefiere las últimas instantáneas de la próxima versión principal, utilice nuestro repositorio de instantáneas de Maven y declare la versión de dependencia adecuada.
< 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" );
Cada comando de Redis se implementa mediante uno o más métodos con nombres idénticos al nombre del comando de Redis en minúsculas. Los comandos complejos con múltiples modificadores que cambian el tipo de resultado incluyen el modificador CamelCased como parte del nombre del comando, por ejemplo, zrangebyscore y zrangebyscoreWithScores.
Consulte Uso básico para obtener más detalles.
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"
Consulte API asincrónica para obtener más detalles.
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"
Consulte API reactiva para obtener más detalles.
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
Lettuce está construido con Apache Maven. Las pruebas requieren múltiples instancias de Redis en ejecución para diferentes casos de prueba que se configuran mediante un Makefile
. Las pruebas se ejecutan de forma predeterminada contra Redis unstable
.
Para construir:
$ 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
Para errores, preguntas y discusiones, utilice GitHub Issues.
Github es para codificación social: si quieres escribir código, recomiendo contribuciones a través de solicitudes de extracción desde bifurcaciones de este repositorio. Cree tickets de Github para errores y nuevas características y comente aquellos que le interesen y eche un vistazo a CONTRIBUTING.md