如何检查缓存何时为空,我应该加载它



我使用Spring Boot,JPA和Java8等技术如何检查我需要重新加载缓存)?

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

如果您是指第二级缓存,则由于性能原因而出现了这种级别的缓存。该第二级缓存位于Entity Manager和数据库之间。持久性上下文共享缓存,使第二级缓存在整个应用程序中可用。由于将实体加载到共享缓存并从那里提供,因此数据库流量大大减少了。因此,实际上,如果发生缓存失误,则不必担心从数据库中重新加载数据。

现在,如果您要实施自己的逻辑来实现缓存,那么您需要对实际缓存的工作方式和不同的算法进行更多研究,以用于LRU,MRU等的缓存算法(我个人不建议您使用它,现有的可用提供商,例如Ehcache,redis,Hazelcast仅几个级别缓存的名称)

相关内容

最新更新