Lettuce adalah klien Redis thread-safe yang dapat diskalakan untuk penggunaan sinkron, asinkron, dan reaktif. Beberapa thread dapat berbagi satu koneksi jika mereka menghindari pemblokiran dan operasi transaksional seperti BLPOP
dan MULTI
/ EXEC
. Selada dibuat dengan netty. Mendukung fitur Redis tingkat lanjut seperti model data Sentinel, Cluster, Pipelining, Auto-Reconnect, dan Redis.
Versi Selada ini telah diuji terhadap versi sumber Redis terbaru.
Lihat dokumentasi referensi dan Referensi API untuk lebih jelasnya.
Belajar gratis di Redis University
Coba Redis Cloud
Selami tutorial pengembang
Bergabunglah dengan komunitas Redis
Bekerja di Redis
Informasi biner dan ketergantungan untuk Maven, Ivy, Gradle, dan lainnya dapat ditemukan di http://search.maven.org.
Rilisan selada tersedia di repositori Maven Central. Lihat juga Rilisnya.
Contoh untuk Maven:
< dependency >
< groupId >io.lettuce</ groupId >
< artifactId >lettuce-core</ artifactId >
< version >x.y.z</ version >
</ dependency >
Jika Anda lebih menyukai snapshot terbaru dari versi utama yang akan datang, gunakan repositori snapshot Maven kami dan nyatakan versi ketergantungan yang sesuai.
< 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" );
Setiap perintah Redis diimplementasikan oleh satu atau lebih metode dengan nama yang identik dengan nama perintah Redis huruf kecil. Perintah kompleks dengan beberapa pengubah yang mengubah jenis hasil menyertakan pengubah CamelCased sebagai bagian dari nama perintah, misalnya zrangebyscore dan zrangebyscoreWithScores.
Lihat Penggunaan dasar untuk rincian lebih lanjut.
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"
Lihat API Asinkron untuk detail lebih lanjut.
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"
Lihat API Reaktif untuk detail lebih lanjut.
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
Selada dibuat dengan Apache Maven. Pengujian ini memerlukan beberapa instance Redis yang berjalan untuk kasus pengujian berbeda yang dikonfigurasi menggunakan Makefile
. Pengujian dijalankan secara default terhadap Redis unstable
.
Untuk membangun:
$ 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
Untuk bug, pertanyaan dan diskusi silakan gunakan Masalah GitHub.
Github ditujukan untuk pengkodean sosial: jika Anda ingin menulis kode, saya mendorong kontribusi melalui permintaan tarik dari cabang repositori ini. Buat tiket Github untuk bug dan fitur baru dan komentari yang Anda minati dan lihat CONTRIBUTING.md