springbootstarter缓存工作概念
我在main方法中使用@EnableCaching注释,在服务层中使用@Cacheable(value=“allproductCache”),实现了SpringBootStarter缓存 我有一个疑问,这个缓存是用户级还是应用程序级?假设我添加了一些新产品,并且无论登录到该应用程序的用户是谁,productlist中的UI都应该可以看到包含新产品的所有产品列表springbootstarter缓存工作概念,spring,spring-boot,spring-data,ehcache,Spring,Spring Boot,Spring Data,Ehcache,我在main方法中使用@EnableCaching注释,在服务层中使用@Cacheable(value=“allproductCache”),实现了SpringBootStarter缓存 我有一个疑问,这个缓存是用户级还是应用程序级?假设我添加了一些新产品,并且无论登录到该应用程序的用户是谁,productlist中的UI都应该可以看到包含新产品的所有产品列表 为此,我想在任何人添加产品时清除缓存的服务器,这样新的getallproduct请求将命中并获得更新的产品列表,但如果我使用cacheM
为此,我想在任何人添加产品时清除缓存的服务器,这样新的getallproduct请求将命中并获得更新的产品列表,但如果我使用cacheManager.getCache(name).clear()清除缓存,我想确保它是应用程序级的;应该能够清除服务器缓存,并且可以反映给所有登录到应用程序的用户。您可以使用@cacheReceiveya删除缓存。我可以删除它,但我关心的是,此缓存是应用程序级还是用户会话级?因为我想在添加某个内容后清除缓存,以便刷新请求应该命中,并且可以对已登录到应用程序的所有用户显示新添加的列表。此缓存是应用程序级别的,但如果您有多个节点,则可以使用redis,hazelcast或Memcache如果您使用的是hibernate,则具有绑定到用户会话的一级缓存。如果打开二级缓存,则它是应用程序级缓存。如果您在ehcache中使用可缓存注释,则它是应用程序级缓存我正在使用mongodb和mongorepository for db quries。。。好的,我将使用SpringBootStarter缓存和ehcache。。。这可能有助于在DB中添加任何新产品后更新所有用户。