首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查缓存何时为空以及是否应加载它

如何检查缓存何时为空以及是否应加载它
EN

Stack Overflow用户
提问于 2018-12-18 23:23:43
回答 1查看 856关注 0票数 0

我使用spring boot、jpa和java 8等技术。我有一个问题,我如何检查缓存是否为空,并应该向数据库发送查询以重新加载它(如何检查是否需要重新加载缓存)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-18 23:42:16

由于您的问题不清楚您使用的是什么类型的缓存??JPA使用的第一级缓存是持久化上下文。实体管理器保证在单个持久性上下文中,对于任何特定的数据库行,将只有一个对象实例。但是,同一个实体可以在另一个用户的事务中进行管理,因此您应该使用乐观或悲观锁定。

如果你指的是二级缓存,这一级缓存是由于performance reasons.this二级缓存位于实体管理器和数据库之间。持久化上下文共享缓存,使二级缓存在整个应用程序中可用。数据库流量大大减少,因为实体被加载到共享缓存中,并从共享缓存中可用。因此,实际上,如果发生缓存未命中,您不需要担心从数据库重新加载数据。

现在,如果你正在实现自己的逻辑来实现缓存,那么你需要更多地研究缓存是如何工作的,以及不同的缓存算法,比如LRU,MRU等等(我个人不建议这样做,因为你可以使用现有的可用的提供商,比如ehcache,redis,hazelcast,只有几个名字用于二级缓存)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53836202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档