Redis
Spring Data 支援的鍵值儲存之一是 Redis。引用 Redis 專案主頁:
Redis 是一個高階鍵值儲存。它類似於 memcached,但資料集不是易失的,並且值可以是字串,就像在 memcached 中一樣,但也可以是列表、集合和有序集合。所有這些資料型別都可以透過原子操作進行操作,以推入/彈出元素、新增/刪除元素、執行伺服器端集合之間的並集、交集、差集等等。Redis 支援不同型別的排序能力。
Spring Data Redis 為 Spring 應用程式提供了 Redis 的便捷配置和訪問。它為與儲存互動提供了低階和高階抽象,將使用者從基礎設施問題中解放出來。
Spring Data 對 Redis 的支援包含廣泛的功能:
-
RedisTemplate和ReactiveRedisTemplate輔助類,可提高執行常見 Redis 操作的效率。包括物件和值之間的整合序列化。 -
將異常轉換為 Spring 的可移植資料訪問異常層次結構。
-
Repository 介面的自動實現,包括對自定義查詢方法的支援。
-
功能豐富的物件對映,與 Spring 的 Conversion Service 整合。
-
基於註解的對映元資料,可擴充套件以支援其他元資料格式。
-
透過 Spring 的快取抽象整合的Redis 快取。
-
Redis 釋出/訂閱訊息和Redis 流監聽器。
-
針對 Java 的Redis 集合實現,例如
RedisList或RedisSet。
為什麼選擇 Spring Data Redis?
Spring Framework 是領先的全棧 Java/JEE 應用程式框架。它提供了一個輕量級容器和透過依賴注入、AOP 和可移植服務抽象實現的非侵入式程式設計模型。
NoSQL 儲存系統為橫向擴充套件和速度提供了傳統 RDBMS 的替代方案。在實現方面,鍵值儲存是 NoSQL 領域最大(也是最古老)的成員之一。
Spring Data Redis (SDR) 框架透過消除與儲存互動所需的冗餘任務和樣板程式碼,並藉助 Spring 出色的基礎設施支援,使得編寫使用 Redis 鍵值儲存的 Spring 應用程式變得容易。
Redis 支援高階檢視
Redis 支援提供了幾個元件。對於大多數任務,高階抽象和支援服務是最佳選擇。請注意,您可以隨時在各層之間切換。例如,您可以獲得低階連線(甚至原生庫)以直接與 Redis 通訊。