Lettuce는 동기식, 비동기식, 반응형 사용을 위한 확장 가능한 스레드 안전 Redis 클라이언트입니다. BLPOP
및 MULTI
/ EXEC
와 같은 차단 및 트랜잭션 작업을 피하는 경우 여러 스레드가 하나의 연결을 공유할 수 있습니다. 양상추는 netty로 만들어졌습니다. Sentinel, Cluster, Pipelining, Auto-Reconnect 및 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 명령 이름과 동일한 이름을 가진 하나 이상의 메서드로 구현됩니다. 결과 유형을 변경하는 여러 수정자가 있는 복잡한 명령에는 명령 이름의 일부로 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 문제를 사용하세요.
Github는 소셜 코딩을 위한 것입니다. 코드를 작성하고 싶다면 이 저장소의 포크에서 풀 요청을 통해 기여하도록 권장합니다. 버그 및 새로운 기능에 대한 Github 티켓을 만들고 관심 있는 항목에 댓글을 달고 CONTRIBUTING.md를 살펴보세요.