KeyValue

Spring Data KeyValue 提供了对将值与唯一键关联的类 Map 结构进行简便配置和访问。它为与底层数据结构交互提供了低级和高级抽象,使用户摆脱了基础设施的困扰。

Spring Data Key Value 中的键值抽象需要一个 Adapter 来封装原生存储实现,从而使 KeyValueTemplate 可以在任何类似键值对的结构之上工作。键分布在 键空间 中。除非另有说明,否则类名将用作实体的默认键空间。以下接口定义显示了 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

键空间

键空间定义了实体应存储的数据结构部分。此概念类似于 MongoDB 和 Elasticsearch 中的集合、Solr 中的核心以及 JPA 中的表。默认情况下,实体的键空间从其类型中提取,但您也可以在同一个键空间中存储不同类型的实体。

© . This site is unofficial and not affiliated with VMware.