Lettuce เป็นไคลเอ็นต์ Redis ที่ปลอดภัยสำหรับเธรดที่ปรับขนาดได้สำหรับการใช้งานแบบซิงโครนัส อะซิงโครนัส และแบบรีแอกทีฟ หลายเธรดอาจแชร์การเชื่อมต่อเดียวหากหลีกเลี่ยงการบล็อกและการดำเนินการทางธุรกรรม เช่น BLPOP
และ MULTI
/ EXEC
ผักกาดหอมสร้างด้วยตาข่าย รองรับฟีเจอร์ Redis ขั้นสูง เช่น โมเดลข้อมูล Sentinel, Cluster, Pipelining, เชื่อมต่อใหม่อัตโนมัติ และ Redis
Lettuce เวอร์ชันนี้ได้รับการทดสอบกับซอร์สบิวด์ Redis ล่าสุด
ดูเอกสารอ้างอิงและการอ้างอิง API สำหรับรายละเอียดเพิ่มเติม
เรียนรู้ฟรีที่ Redis University
ลองใช้ Redis Cloud
เจาะลึกบทช่วยสอนสำหรับนักพัฒนา
เข้าร่วมชุมชน Redis
ทำงานที่ Redis
ข้อมูลไบนารีและการพึ่งพาสำหรับ Maven, Ivy, Gradle และอื่นๆ สามารถดูได้ที่ http://search.maven.org
การจำหน่ายผักกาดหอมมีจำหน่ายที่ Maven Central repository ลองดูที่ข่าวประชาสัมพันธ์ด้วย
ตัวอย่างสำหรับ 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"
ดู Asynchronous 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"
ดู Reactive API สำหรับรายละเอียดเพิ่มเติม
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