Lettuce est un client Redis évolutif et thread-safe pour une utilisation synchrone, asynchrone et réactive. Plusieurs threads peuvent partager une connexion s'ils évitent le blocage et les opérations transactionnelles telles que BLPOP
et MULTI
/ EXEC
. La laitue est construite avec du netty. Prend en charge les fonctionnalités Redis avancées telles que les modèles de données Sentinel, Cluster, Pipelining, Auto-Reconnect et Redis.
Cette version de Lettuce a été testée par rapport à la dernière version des sources Redis.
Consultez la documentation de référence et la référence API pour plus de détails.
Apprenez gratuitement à l'Université Redis
Essayez le cloud Redis
Plongez dans les didacticiels des développeurs
Rejoignez la communauté Redis
Travailler chez Redis
Les informations sur les binaires et les dépendances pour Maven, Ivy, Gradle et autres peuvent être trouvées sur http://search.maven.org.
Les versions de laitue sont disponibles dans le référentiel Maven Central. Jetez également un œil aux versions.
Exemple pour Maven :
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z</ version >
</ dependency >
Si vous préférez les derniers instantanés de la prochaine version majeure, utilisez notre référentiel d'instantanés Maven et déclarez la version de dépendance appropriée.
< 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" );
Chaque commande Redis est implémentée par une ou plusieurs méthodes dont les noms sont identiques au nom de la commande Redis en minuscules. Les commandes complexes avec plusieurs modificateurs qui modifient le type de résultat incluent le modificateur CamelCased dans le nom de la commande, par exemple zrangebyscore et zrangebyscoreWithScores.
Voir Utilisation de base pour plus de détails.
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"
Voir API asynchrone pour plus de détails.
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"
Voir API réactive pour plus de détails.
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
Lettuce est construit avec Apache Maven. Les tests nécessitent plusieurs instances Redis en cours d'exécution pour différents scénarios de test configurés à l'aide d'un Makefile
. Tests exécutés par défaut sur Redis unstable
.
Pour construire :
$ 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
Pour les bugs, les questions et les discussions, veuillez utiliser les problèmes GitHub.
Github est destiné au codage social : si vous souhaitez écrire du code, j'encourage les contributions via des pull request depuis les forks de ce référentiel. Créez des tickets Github pour les bugs et les nouvelles fonctionnalités, commentez celles qui vous intéressent et jetez un œil à CONTRIBUTING.md