我们正在考虑使用 ehcache (1.6.0-beta5) 来启用许多从未修改过的表的二级缓存。我们已经为这个表设置了一个只读的 ehcache 区域,目前它似乎工作正常。存储在缓存中的 Hibnerate POJO 都是不可变的。
这里的一位开发人员提出了一个问题,即从 ehcache 中“水合”对象(即从 ehcache 的实体内部表示到实际 Java 对象的映射)所花费的时间显着降低了性能。相反,他建议我们手动将对象存储在我们自己的缓存中。这将需要对我们的代码进行重大修改,我对改进的幅度持保留态度。
我的问题是:
- 这种性能下降真的很显着吗?
- 如果实体在只读缓存中是不可变的,那么 ehcache 实际上是否需要进行任何水合?它不能直接存储对象吗?
谢谢你的帮助。