Lettuce は、同期、非同期、およびリアクティブな使用のためのスケーラブルなスレッドセーフな Redis クライアントです。複数のスレッドは、 BLPOP
やMULTI
/ EXEC
などのブロック操作やトランザクション操作を回避する場合、1 つの接続を共有できます。レタスはネッティで作られています。 Sentinel、クラスター、パイプライン、自動再接続、Redis データ モデルなどの高度な Redis 機能をサポートします。
このバージョンの Lettuce は、最新の Redis ソース ビルドに対してテストされています。
詳細については、リファレンス ドキュメントと API リファレンスを参照してください。
Redis University で無料で学ぶ
Redis クラウドを試してみる
開発者チュートリアルの詳細
Redis コミュニティに参加する
Redisで働く
Maven、Ivy、Gradle などのバイナリと依存関係の情報は、http://search.maven.org で見つけることができます。
レタスのリリースは、Maven Central リポジトリで入手できます。リリースもご覧ください。
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 コマンド名と同じ名前を持つ 1 つ以上のメソッドによって実装されます。結果のタイプを変更する複数の修飾子を持つ複雑なコマンドには、コマンド名の一部として 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"
詳細については、「非同期 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"
詳細については、「リアクティブ API」を参照してください。
RedisPubSubCommands < String , String > connection = client . connectPubSub (). sync ();
connection . getStatefulConnection (). addListener ( new RedisPubSubListener < String , String >() { ... })
connection . subscribe ( "channel" );
Lettuce は Apache Maven で構築されています。テストには、 Makefile
使用して構成されたさまざまなテスト ケースに対して複数の Redis インスタンスを実行する必要があります。テストはデフォルトで 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 Issues をご利用ください。
Github はソーシャル コーディング用です。コードを書きたい場合は、このリポジトリのフォークからのプル リクエストを通じて貢献することをお勧めします。バグや新機能について Github チケットを作成し、興味のあるものについてコメントし、CONTRIBUTING.md を調べます。