Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
springbootstarter缓存工作概念_Spring_Spring Boot_Spring Data_Ehcache - Fatal编程技术网

springbootstarter缓存工作概念

springbootstarter缓存工作概念,spring,spring-boot,spring-data,ehcache,Spring,Spring Boot,Spring Data,Ehcache,我在main方法中使用@EnableCaching注释,在服务层中使用@Cacheable(value=“allproductCache”),实现了SpringBootStarter缓存 我有一个疑问,这个缓存是用户级还是应用程序级?假设我添加了一些新产品,并且无论登录到该应用程序的用户是谁,productlist中的UI都应该可以看到包含新产品的所有产品列表 为此,我想在任何人添加产品时清除缓存的服务器,这样新的getallproduct请求将命中并获得更新的产品列表,但如果我使用cacheM

我在main方法中使用@EnableCaching注释,在服务层中使用@Cacheable(value=“allproductCache”),实现了SpringBootStarter缓存

我有一个疑问,这个缓存是用户级还是应用程序级?假设我添加了一些新产品,并且无论登录到该应用程序的用户是谁,productlist中的UI都应该可以看到包含新产品的所有产品列表


为此,我想在任何人添加产品时清除缓存的服务器,这样新的getallproduct请求将命中并获得更新的产品列表,但如果我使用cacheManager.getCache(name).clear()清除缓存,我想确保它是应用程序级的;应该能够清除服务器缓存,并且可以反映给所有登录到应用程序的用户。

您可以使用@cacheReceiveya删除缓存。我可以删除它,但我关心的是,此缓存是应用程序级还是用户会话级?因为我想在添加某个内容后清除缓存,以便刷新请求应该命中,并且可以对已登录到应用程序的所有用户显示新添加的列表。此缓存是应用程序级别的,但如果您有多个节点,则可以使用redis,hazelcast或Memcache如果您使用的是hibernate,则具有绑定到用户会话的一级缓存。如果打开二级缓存,则它是应用程序级缓存。如果您在ehcache中使用可缓存注释,则它是应用程序级缓存我正在使用mongodb和mongorepository for db quries。。。好的,我将使用SpringBootStarter缓存和ehcache。。。这可能有助于在DB中添加任何新产品后更新所有用户。