【发布时间】:2014-02-04 07:53:46
【问题描述】:
我正在努力实现某些静态数据的缓存。
我有两种方法:
- 使用 Spring 框架注释使用方法级缓存。
- 启用二级缓存,以便休眠管理数据的缓存
这些方法中哪一种效果最好? 我必须考虑哪些事情?
【问题讨论】:
-
我认为很难回答您的第一个问题,因为我认为这可能是自以为是的。但是,在 Hibernate 缓存中您可能会考虑的一件事是它会影响数据写入的方式/时间。我的团队使用 Hibernate,因为它倾向于推迟对 DB 的写入以尝试“优化”它们。我们会看到代码运行,期望数据库反映更改,但它们不存在。这是可配置的行为,但同样需要考虑。
-
@CodeChimp:这不是 Hibernate 2 级缓存的工作方式。它缓存读取但不缓存写入。事务语义总是受到尊重,不管有没有缓存。
-
@JBNizet +1 给你,好先生,教我一些东西。找到这个链接,如果有人感兴趣,它讨论了 Hibernate 中的二级缓存,带有示例,以及一个讨论一级缓存的链接,同样带有示例:howtodoinjava.com/2013/07/02/…
标签: java spring hibernate caching