Sac*_*ave 5 spring hibernate hibernate-cache spring-boot spring-cache
谁能解释一下hibernate二级缓存和spring缓存有什么区别?
在单个应用程序中使用两者有意义吗?如果不推荐那么什么时候使用哪一个?
如果有人给出基于现实生活场景的解释,将非常有助于轻松理解。
这是两种完全不同的技术。当您使用关系数据库时,Hibernate 和 Hibernate Cache 通常适用。然后你可以使用Hibernate ORM来生成查询、存储对象等。领域模型是用java(实体)编写的。有时,将其中一些实体缓存在内存中以加快查询速度是有意义的,因此您可以使用 Hibernate Cache 来缓存它们。那里有许多不同类型的缓存,我不会深入讨论细节,因为这是一个一般性问题,但请阅读此处如果您想了解更多有关 Hibernate 缓存的信息,
现在 Spring 缓存是由 Spring 完成的,一般来说,它与关系数据库/ JDBC 世界无关,换句话说,在 Hibernate 领域之外。您可以缓存对象以避免调用 MongoDb,或避免执行两次昂贵的计算。您可以将数据缓存在内存中或更先进的分布式技术中,例如 Hazelcast、Redis 或 Infinispan(还有其他技术)。
在这里您可以找到 Spring Caching 的介绍材料。这是更完整的官方文档
所以是的,为了直接回答你的问题,在一个应用程序中使用两者可能是有意义的:)我真的认为你应该熟悉两者,至少在概念和目标的层面上,然后决定什么适用于你的情况。
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |