เป้าหมายหลักของโครงการ Spring Data คือการทำให้ง่ายต่อการสร้างแอปพลิเคชันที่ขับเคลื่อนโดย Spring ซึ่งใช้เทคโนโลยีการเข้าถึงข้อมูลใหม่ๆ เช่น ฐานข้อมูลที่ไม่สัมพันธ์กัน เฟรมเวิร์กการลดแผนที่ และบริการข้อมูลบนคลาวด์
โมดูลนี้มีการบูรณาการกับร้านค้า Redis นอกจากนี้ยังได้รับการทดสอบเพื่อทำงานร่วมกับ Valkey บนพื้นฐานความพยายามอย่างดีที่สุด ตราบใดที่ Valkey ยังคงเข้ากันได้กับ Redis เป็นส่วนใหญ่
แพ็คเกจการเชื่อมต่อเป็นนามธรรมระดับต่ำในไดรเวอร์ Redis หลายตัว (Lettuce และ Jedis)
การแปลข้อยกเว้นเป็นลำดับชั้นข้อยกเว้นการเข้าถึงข้อมูลแบบพกพาของ Spring สำหรับข้อยกเว้นไดรเวอร์ Redis
RedisTemplate
ที่ให้นามธรรมระดับสูงสำหรับการดำเนินการ Redis ต่างๆ การแปลข้อยกเว้น และการสนับสนุนการทำให้เป็นอนุกรม
รองรับ Pubsub (เช่น MessageListenerContainer สำหรับ POJO ที่ขับเคลื่อนด้วยข้อความ)
รองรับ Redis Sentinel และ Redis Cluster
Reactive API โดยใช้ไดรเวอร์ Lettuce
JDK, String, JSON และ Spring Object/XML mapping serializers
การใช้งาน JDK Collection บน Redis
คลาสสนับสนุนตัวนับอะตอม
ฟังก์ชั่นการเรียงลำดับและการวางท่อ
การสนับสนุนเฉพาะสำหรับรูปแบบ SORT, SORT/GET และส่งคืนค่าจำนวนมาก
การใช้งาน Redis สำหรับการแยกแคช Spring 3.1
การใช้งานอินเทอร์เฟซ Repository
โดยอัตโนมัติ รวมถึงการสนับสนุนวิธีการค้นหาแบบกำหนดเองโดยใช้ @EnableRedisRepositories
รองรับ CDI สำหรับที่เก็บ
โครงการนี้อยู่ภายใต้หลักจรรยาบรรณของ Spring ในการเข้าร่วม คุณจะต้องปฏิบัติตามจรรยาบรรณนี้ กรุณารายงานพฤติกรรมที่ไม่สามารถยอมรับได้ที่ [email protected]
นี่เป็นตัวอย่างสั้นๆ ของแอปพลิเคชันที่ใช้ Spring Data Redis ใน Java:
public class Example {
// inject the actual template
@ Autowired
private RedisTemplate < String , String > redisTemplate ;
// inject the template as ListOperations
// can also inject as Value, Set, ZSet, and HashOperations
@ Resource ( name = "redisTemplate" )
private ListOperations < String , String > listOps ;
public void addLink ( String userId , URL url ) {
listOps . leftPush ( userId , url . toExternalForm ());
// or use template directly
redisTemplate . boundListOps ( userId ). leftPush ( url . toExternalForm ());
}
}
@ Configuration
class ApplicationConfig {
@ Bean
public RedisConnectionFactory redisConnectionFactory () {
return new LettuceConnectionFactory ();
}
}
เพิ่มการพึ่งพา Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}</ version >
</ dependency >
หากคุณต้องการสแนปช็อตล่าสุดของเวอร์ชันหลักที่กำลังจะมาถึง ให้ใช้พื้นที่เก็บข้อมูลสแน็ปช็อต Maven ของเราและประกาศเวอร์ชันอ้างอิงที่เหมาะสม
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
มีปัญหากับ Spring Data ใช่ไหม เรายินดีที่จะช่วย!
ตรวจสอบเอกสารอ้างอิงและ Javadocs
เรียนรู้พื้นฐานของ Spring – Spring Data สร้างขึ้นบน Spring Framework ตรวจสอบเว็บไซต์ spring.io เพื่อดูเอกสารอ้างอิงมากมาย หากคุณเพิ่งเริ่มต้นใช้งาน Spring ให้ลองใช้คำแนะนำข้อใดข้อหนึ่ง
หากคุณกำลังอัปเกรด โปรดดูบันทึกประจำรุ่นสำหรับคุณสมบัติ "ใหม่และน่าจดจำ"
ถามคำถาม - เราตรวจสอบ stackoverflow.com สำหรับคำถามที่แท็กด้วย spring-data-redis
คุณยังสามารถแชทกับชุมชนบน Gitter ได้อีกด้วย
รายงานข้อบกพร่องด้วย Spring Data Redis ที่ github.com/spring-projects/spring-data-redis
Spring Data ใช้ Github เป็นระบบติดตามปัญหาเพื่อบันทึกจุดบกพร่องและคำขอคุณสมบัติ หากคุณต้องการแจ้งปัญหา โปรดปฏิบัติตามคำแนะนำด้านล่าง:
ก่อนที่คุณจะบันทึกข้อบกพร่อง โปรดค้นหาตัวติดตามปัญหาเพื่อดูว่ามีคนรายงานปัญหาแล้วหรือไม่
หากไม่มีปัญหาอยู่แล้ว ให้สร้างปัญหาใหม่
โปรดระบุข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้พร้อมกับรายงานปัญหา เราต้องการทราบเวอร์ชันของ Spring Data ที่คุณใช้ เวอร์ชัน JVM, Stacktrace ฯลฯ
หากคุณต้องการวางโค้ดหรือรวมการติดตามสแต็ก ให้ใช้รั้วโค้ด Markdown ```
หากเป็นไปได้ให้ลองสร้างกรณีทดสอบหรือโครงการที่จำลองปัญหา แนบลิงก์ไปยังโค้ดของคุณหรือไฟล์บีบอัดที่มีโค้ดของคุณ
คุณไม่จำเป็นต้องสร้างจากแหล่งที่มาเพื่อใช้ Spring Data (ไบนารีใน repo.spring.io) แต่หากคุณต้องการลองใช้ Spring Data ล่าสุดและยิ่งใหญ่ที่สุด คุณสามารถสร้าง Spring Data ได้อย่างง่ายดายด้วย maven wrapper คุณต้องใช้ JDK 17 ขึ้นไปและ make
. สภาพแวดล้อมบิลด์ภายในได้รับการจัดการภายใน Makefile
เพื่อดาวน์โหลด สร้าง และหมุน Redis ในการกำหนดค่าต่างๆ (สแตนด์อโลน Sentinel คลัสเตอร์ ฯลฯ)
$ make test
คำสั่งก่อนหน้ารันบิลด์แบบเต็ม คุณสามารถใช้ make start
, make stop
และ make clean
เพื่อควบคุมสภาพแวดล้อมด้วยตัวเอง สิ่งนี้มีประโยชน์หากคุณต้องการหลีกเลี่ยงการรีสตาร์ทเซิร์ฟเวอร์อย่างต่อเนื่อง เมื่ออินสแตนซ์ Redis ทั้งหมดเริ่มต้นแล้ว คุณสามารถรันการทดสอบใน IDE ของคุณหรือบิลด์ Maven แบบเต็มได้:
$ ./mvnw clean install
หากคุณต้องการสร้างด้วยคำสั่ง mvn
ปกติ คุณจะต้องใช้ Maven v3.8.0 ขึ้นไป
โปรดดูที่ CONTRIBUTING.adoc หากคุณต้องการส่งคำขอดึง และโดยเฉพาะอย่างยิ่ง โปรดลงนามในข้อตกลงของผู้ร่วมให้ข้อมูลก่อนการเปลี่ยนแปลงที่ไม่สำคัญครั้งแรกของคุณ
การสร้างเอกสารประกอบจะสร้างโปรเจ็กต์โดยไม่ต้องทำการทดสอบ
$ ./mvnw clean install -Pantora
เอกสารที่สร้างขึ้นมีอยู่ใน target/antora/site/index.html
ไซต์ spring.io มีคำแนะนำหลายข้อที่แสดงวิธีใช้ Spring Data ทีละขั้นตอน:
การส่งข้อความด้วย Redis: เรียนรู้วิธีใช้ Redis เป็นตัวกลางส่งข้อความ
การเข้าถึงข้อมูลเชิงโต้ตอบด้วย Redis: เรียนรู้วิธีอินเทอร์เฟซเชิงโต้ตอบกับ Redis และ Spring Data
Spring Data Examples มีโปรเจ็กต์ตัวอย่างที่อธิบายคุณสมบัติเฉพาะโดยละเอียดมากขึ้น
Spring Data Redis เป็นซอฟต์แวร์โอเพ่นซอร์สที่เผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0