0

我正在尝试使用新的数据库表进行新的缓存配置。以下是示例表结构和示例数据。

表部门:

Dept Id      Detp Name     Dept Dtls
111          SALES         A1
112          MARKET        A2

表_EMP:

Emp Id     Emp Name    DeptId    Working Started   Working ended
1          ABEmp       111       01-01-2017        02-02-2017
2          CDEmp       112       01-01-2017        03-12-2017
3          EFEmp       113       01-01-2017        03-12-2017
1          ABEmp       115       03-02-2017        03-12-2017

如果我想通过使用部门 ID 添加加载缓存中的数据,我将拥有唯一的部门 ID,其中包含 emp Id 列表 - 详细信息。

如果我想在 ehcache 配置中按部门 ID 进行搜索,我可以简单地将搜索属性设为“部门 ID”。但是,如果我想按 emp id 搜索,我应该得到员工工作下的部门列表。

我的 ehcache 设计应该是什么?

我的 Java bean/POJO 如下所示。

Class DeptDtls{

    int deptId;
    String deptName;
    List<Integer> empIdList;

    //Setter & getters
}

缓存 - 我想把键作为 deptId & value 是整个 DeptDtls。

在这种情况下,如何允许基于 empId 的搜索操作?

4

1 回答 1

0

Ehcache 只能提供内存数据存储,但在您的情况下,顶部缓存也需要搜索。我遇到了相同的场景并使用弹性搜索来缓存数据并搜索存储的数据。弹性搜索具有对搜索的内置支持,我们可以索引存储的data .elasticsearch 可以配置缓存。

于 2018-02-10T05:30:38.680 回答