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