alibaba / jetcache

JetCache is a Java cache framework.
Apache License 2.0
5.15k stars 1.06k forks source link

如何获取缓存到redis里key的全名,否则通过 模糊匹配性能太差。 #930

Open zhangxiangfeng opened 2 months ago

zhangxiangfeng commented 2 months ago

背景:

  1. 在order服务使用了@Cached 进行了缓存,key是el表达式动态计算的。
  2. 在admin服务 活动变更的时候,清楚order这个缓存

问题:

  1. 因为是spel动态计算的,所以仅知道缓存的前缀。
  2. 在admin服务清理的时候 通过 模糊匹配性能太差。
areyouok commented 2 months ago

如果想批量失效可以换个前缀,否则没有直接的办法。

zhangxiangfeng commented 2 months ago

如果想批量失效可以换个前缀,否则没有直接的办法。

换个key前缀,也不行,因为要模糊匹配前缀了。性能贼差。集群里 百万级别+的key

zhangxiangfeng commented 2 months ago

目前我只能采用了不优雅的手段先实现业务了。

重写 com.alicp.jetcache.redisson.RedissonCache#do_PUT

areyouok commented 2 months ago

你拼el的时候换个前缀不行吗

lingfengcoder commented 4 weeks ago

可以看看我fork出来并增强的版本,支持批量删除 image 坐标:https://github.com/lingfengcoder/jetcache/tree/2.7.8-GM-SNAPSHOT