Lettuce هو عميل Redis قابل للتطوير وآمن للاستخدام المتزامن وغير المتزامن والتفاعلي. يمكن لخيوط متعددة مشاركة اتصال واحد إذا تجنبت عمليات الحظر والمعاملات مثل BLPOP
و MULTI
/ EXEC
. الخس مبني بالنيتي. يدعم ميزات Redis المتقدمة مثل نماذج بيانات Sentinel وCluster وPipelining وإعادة الاتصال التلقائي وRedis.
تم اختبار هذا الإصدار من Lettuce مقابل أحدث إصدار من مصدر Redis.
راجع الوثائق المرجعية ومرجع واجهة برمجة التطبيقات لمزيد من التفاصيل.
تعلم مجانًا في جامعة ريديس
جرب سحابة Redis
الغوص في البرامج التعليمية للمطورين
انضم إلى مجتمع ريديس
العمل في ريديس
يمكن العثور على الثنائيات ومعلومات التبعية لـ Maven وIvy وGradle وغيرها على http://search.maven.org.
تتوفر إصدارات الخس في مستودع Maven المركزي. ألق نظرة أيضًا على الإصدارات.
مثال لميفن:
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z</ version >
</ dependency >
إذا كنت تفضل الحصول على أحدث اللقطات من الإصدار الرئيسي القادم، فاستخدم مستودع لقطات Maven الخاص بنا وأعلن عن إصدار التبعية المناسب.
< 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" );
يتم تنفيذ كل أمر Redis من خلال طريقة واحدة أو أكثر بأسماء مماثلة لاسم أمر Redis الصغير. تتضمن الأوامر المعقدة ذات المعدلات المتعددة التي تغير نوع النتيجة معدّل CamelCased كجزء من اسم الأمر، على سبيل المثال zrangebyscore وzrangebyscoreWithScores.
راجع الاستخدام الأساسي لمزيد من التفاصيل.
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"
راجع واجهة برمجة التطبيقات غير المتزامنة لمزيد من التفاصيل.
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"
راجع واجهة برمجة التطبيقات التفاعلية لمزيد من التفاصيل.
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
تم بناء الخس باستخدام Apache Maven. تتطلب الاختبارات تشغيل العديد من مثيلات Redis لحالات اختبار مختلفة تم تكوينها باستخدام Makefile
. يتم تشغيل الاختبارات بشكل افتراضي ضد Redis unstable
.
لبناء:
$ 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
بالنسبة للأخطاء والأسئلة والمناقشات، يرجى استخدام مشكلات GitHub.
Github مخصص للترميز الاجتماعي: إذا كنت تريد كتابة التعليمات البرمجية، فأنا أشجع المساهمات من خلال طلبات السحب من تشعبات هذا المستودع. قم بإنشاء تذاكر Github للأخطاء والميزات الجديدة والتعليق على الميزات التي تهمك وإلقاء نظرة على CONTRIBUTING.md