【发布时间】:2016-07-26 19:38:57
【问题描述】:
我们有一个 spring boot web 服务(带有 spring 数据,hibernate),它通过从数据库中读取整个表并返回它来生成一个巨大的文件。这样做需要很多时间,这比客户设置的超时时间要长得多。所以我决定使用 ehcache 来缓存整个表的数据并从中生成文件(我知道缓存不是为此而设计的,但我没有任何其他想法)。它的表现令人满意。但是当我们需要对数据进行更新时,问题就来了。更新在每个记录级别进行,但缓存存储在整个表级别。我不确定如何让 ehcache 查看缓存对象中的记录并修改它们(由于某些性能原因,我不想将每一行存储为单独的缓存对象)。非常感谢您对此提供任何帮助。
现在,为了解决这个问题,我摆脱了 ehcache 并使用了哈希映射。这导致了很多我不喜欢的样板代码。
编辑:有没有办法连接到 ehcache 驱逐机制并手动更改缓存对象?
【问题讨论】:
-
你是如何应用缓存的,你是使用Spring Cache还是使用了hibernate的二级缓存选项。
标签: java spring hibernate caching ehcache