我看到很多文章说在Hibernate中使用二级缓存会提高性能,但对使用它的缺点却没有太大帮助.我不想将二级缓存视为一种神奇的"在这里启用免费更好的性能!" 按钮.任何人都可以描述使用二级缓存的缺点,以便我能够意识到使用它的含义吗?
在另一个答案中引用的点似乎是有效的.但是,对我来说,主要的缺点是别的:
性能下降.是的,没有必要进行缓存以提供更好的性能.Hibernate需要做额外的工作来存储和更新缓存.如果经常更改缓存的实体并且您不经常查询它们,则启用缓存只会增加不必要的额外负担.
缓存失效.如果您的应用程序具有通过不更新实体的方式执行更新的逻辑(例如,直接SQL更新,通过其他应用程序更新,批量HQL更新(我对最后一种情况不太确定:P)),Hibernate将不知道实体已更改.因此,当您进行查询时,您仍会在更新前获取图像.
缺点:
| 归档时间: |
|
| 查看次数: |
4144 次 |
| 最近记录: |