jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

@CacheInvalidate标记能否删除多个缓存

Open qiao-wei opened this issue 5 years ago • 8 comments

@CacheInvalidate标记能否删除多个缓存 优其是一些基本表的删除操作,会涉及多个缓存

qiao-wei avatar Dec 10 '19 01:12 qiao-wei

可以,有个multi属性

areyouok avatar Dec 10 '19 16:12 areyouok

看了下multi是删除多个key的。不能满足要求。 可能之前描述的不是很清楚。 例如 有一张表 resource表 加了一个缓存 resource 缓存了整张表 @Cached(name="resource") List<Resource> listResource(); 然后又建了一个缓存 resourceTree 缓存的是resource表的树结构 @Cached(name="resourceTree") ResourceTree buildResourceTree(); 这时候如果执行删除资源的时候,想把 resource和resourceTree的缓存都删除掉 @CacheInvalidate void deleteResource();
这个时候如何处理
:)

qiao-wei avatar Dec 12 '19 06:12 qiao-wei

你看看最新的PR:

https://github.com/alibaba/jetcache/pull/404

areyouok avatar Dec 12 '19 07:12 areyouok

我也遇到这样的问题,我们需要的是@Caching(evict={@CacheEvict(“a1”),@CacheEvict(“a2”,allEntries=true)});这样的功能。 或者是一个方法上可以添加多个 @CacheInvalidate(name=“name1” @CacheInvalidate(name=“name2” 目前只能用代码解决了 enterInfoCache.remove(userId); vipInfoCache.remove(userId); 但是用代码解决是不够优雅的!

qianyong198765 avatar Apr 03 '20 06:04 qianyong198765

@qianyong198765 遇到同样问题

cycle2zhou avatar May 11 '20 05:05 cycle2zhou

@areyouok @CacheInvalidate注解不支持allEntries=true属性?当希望清空某个缓存时比较麻烦

cycle2zhou avatar May 12 '20 08:05 cycle2zhou

所以现在支持了吗

mankouzhuya avatar Nov 12 '21 10:11 mankouzhuya

现在支持了吗 没找到文档

HusenHuang avatar Jan 17 '22 06:01 HusenHuang