Spring Data 專案的主要目標是更輕鬆地建立基於 Spring 的應用程序,這些應用程式使用新的資料存取技術,例如非關聯式資料庫、map-reduce 框架和基於雲端的資料服務。
該模組提供與 Redis 儲存的整合。只要 Valkey 與 Redis 保持基本兼容,它也經過測試可以盡力與 Valkey 配合使用。
連接包作為跨多個 Redis 驅動程式(Lettuce 和 Jedis)的低階抽象。
Redis 驅動程式異常到 Spring 的可移植資料存取異常層次結構的異常轉換
RedisTemplate
提供了執行各種 Redis 操作、異常轉換和序列化支援的高階抽象。
Pubsub 支援(例如用於訊息驅動 POJO 的 MessageListenerContainer)。
Redis Sentinel 和 Redis Cluster 支援。
使用 Lettuce 驅動程式的反應式 API。
JDK、String、JSON 和 Spring 物件/XML 映射序列化器。
Redis 之上的 JDK Collection 實作。
原子計數器支援類別。
排序和管線功能。
專門支援 SORT、SORT/GET 模式和傳回的批次值。
Spring 3.1 快取抽象的 Redis 實作。
自動實作Repository
接口,包括支援使用@EnableRedisRepositories
自訂查找方法。
對儲存庫的 CDI 支援。
該項目受 Spring 行為準則管轄。透過參與,您應該遵守本行為準則。請將不可接受的行為回報至 [email protected]。
以下是在 Java 中使用 Spring Data Redis 的應用程式的快速預覽:
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 上與社群聊天。
在 github.com/spring-projects/spring-data-redis 上報告 Spring Data Redis 的錯誤。
Spring Data 使用 Github 作為問題追蹤系統來記錄錯誤和功能請求。如果您想提出問題,請遵循以下建議:
在記錄錯誤之前,請搜尋問題追蹤器以查看是否有人已經報告了該問題。
如果該問題尚不存在,請建立一個新問題。
請在問題報告中提供盡可能多的信息,我們想知道您正在使用的 Spring Data 版本、JVM 版本、Stacktrace 等。
如果您需要貼上程式碼,或包含堆疊跟踪,請使用 Markdown 程式碼圍欄``。
如果可能,請嘗試建立複製問題的測試案例或專案。附上您的程式碼或包含您的程式碼的壓縮檔案的連結。
您不需要從原始程式碼建置來使用 Spring Data(repo.spring.io 中的二進位檔案),但如果您想嘗試最新且最好的,可以使用 Maven 包裝器輕鬆建置 Spring Data。您還需要 JDK 17 或更高版本並make
.本機建置環境在Makefile
中進行管理,以各種配置(獨立、哨兵、叢集等)下載、建置和啟動 Redis
$ 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 許可證下發布的開源軟體。