我有个问题。我有一个应用程序,我从数据库中获取数据(使用休眠)。我希望:每个用户在白天只从数据库下载一次数据。所以我想缓存从数据库中得到的结果。我使用Hibernate的Spring框架,我知道他们都有一些缓存的可能性。但是,我不知道它们之间有什么区别,什么是更好的选择。威尔感谢答案。休眠缓存和Spring远程缓存有什么区别?
1
A
回答
2
Hibernate有2级缓存。 1. First level 2. Second level
Second level chache
适用于整个应用程序,first level cache
适用于当前的hibernate会话。有每个用户可用的no cache
。
另外如果你使用spring managed beans + caching。有一项规定可以缓存整个应用程序的Bean而不是用户。 (对此不太确定)
这听起来就是你想要在user's session
中存储数据。即,只要用户正在进行活动会话。 Spring有一个session scoped beans
您可能想要使用它们来缓存每个用户的数据。
3
从我的角度来看,从Hibernate缓存开始是一个更谨慎的决定,尤其是因为两者不排斥对方。在性能方面,Spring缓存可以为您提供更多,更高的堆栈空间,您可以缓存业务结果(基本上比使用hibernate的二级缓存更能缓存)。
但是,一个突出的区别是清除缓存。有了Spring缓存,你需要明确地清除,而如果你的插入,更新和删除操作通过hibernate的框架,hibernate缓存会自动维护。
在我参与的项目中,假设使用hibernate的二级缓存,这几乎是默认的。我们使用Spring缓存来处理更加静态的数据。
相关问题
- 1. 休眠缓存级别1
- 2. cpu缓存和内存缓存有什么区别
- 3. 休眠缓存保存什么?
- 4. 休眠缓存
- 5. 缓存和共享有什么区别?
- 6. 引发缓存和空缓存之间有什么区别?
- 7. l1缓存和l2缓存有什么区别?
- 8. 客户端缓存和服务器缓存有什么区别
- 9. HDF5:“文件缓冲区”和“文件缓存”有什么区别?
- 10. Spring-Boot - 激活休眠二级缓存
- 11. Ehcache中“缓存未命中”和“内存缓存未命中”有什么区别?
- 12. 缓冲区和缓存区别?
- 13. GPU中共享内存和L1缓存有什么区别?
- 14. 缓存和应用程序有什么区别?
- 15. 休眠:batch_size?二级缓存?
- 16. 休眠禁用缓存
- 17. 使用休眠缓存
- 18. 关于休眠缓存
- 19. infinispan休眠缓存驱逐
- 20. 与Echache +休眠缓存
- 21. 缓存集合休眠
- 22. 休眠缓存错误
- 23. 休眠缓存问题
- 24. 休眠二级缓存
- 25. 禁用休眠缓存
- 26. 休眠的Jboss缓存
- 27. 休眠二级缓存
- 28. 休眠集合缓存
- 29. 休眠缓存问题?
- 30. 休眠:一级缓存