KeyValue

Spring Data KeyValue 提供對將值與唯一鍵關聯的類似 Map 結構的簡單配置和訪問。 它提供用於與底層資料結構互動的低階和高階抽象,從而使使用者擺脫了基礎架構的考慮。

Spring Data Key Value 中的鍵值抽象需要一個 Adapter,該 Adapter 用於遮蔽本機儲存實現,從而釋放 KeyValueTemplate 以便在任何類似鍵值對的結構之上工作。 鍵分佈在 Keyspace 中。 除非另有說明,否則類名用作實體的預設鍵空間。 以下介面定義顯示了 KeyValueOperations 介面,該介面是 Spring Data Key-Value 的核心

interface KeyValueOperations {

    <T> T insert(T objectToInsert);                               (1)

    void update(Object objectToUpdate);                           (2)

    void delete(Class<?> type);                                   (3)

    <T> T findById(Object id, Class<T> type);                     (4)

    <T> Iterable<T> findAllOf(Class<T> type);                     (5)

    <T> Iterable<T> find(KeyValueQuery<?> query, Class<T> type);  (6)

    //... more functionality omitted.

}
1 插入給定的實體並分配 ID(如果需要)。
2 更新給定的實體。
3 刪除所有匹配型別的實體。
4 返回給定型別的具有匹配 ID 的實體。
5 返回所有匹配型別的實體。
6 返回與查詢條件匹配的給定型別的所有實體的 List

Keyspace

Keyspace 定義應在其中保留實體的資料結構的一部分。 此概念類似於 MongoDB 和 Elasticsearch 中的集合、Solr 中的核心以及 JPA 中的表。 預設情況下,實體的鍵空間是從其型別中提取的,但您也可以在一個鍵空間中儲存不同型別的實體。