CacheEvict.java 1000 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.primeton.dgs.kernel.core.cache;
  2. import java.lang.annotation.ElementType;
  3. import java.lang.annotation.Inherited;
  4. import java.lang.annotation.Retention;
  5. import java.lang.annotation.RetentionPolicy;
  6. import java.lang.annotation.Target;
  7. /**
  8. *
  9. * 缓存删除策略
  10. *
  11. *
  12. * <pre>
  13. *
  14. * Created by zhaopx.
  15. * User: zhaopx
  16. * Date: 2019/11/8
  17. * Time: 17:45
  18. *
  19. * </pre>
  20. *
  21. * @author zhaopx
  22. */
  23. @Inherited
  24. @Target(ElementType.METHOD)
  25. @Retention(RetentionPolicy.RUNTIME)
  26. public @interface CacheEvict {
  27. /**
  28. *
  29. * 精确的删除缓存的 key, 一次性删除多个。
  30. *
  31. * 缓存的key,支持 ${var} 获取变量
  32. */
  33. String[] keys() default {};
  34. /**
  35. * 触发条件,只有满足条件的情况才会清除缓存
  36. * 根据前缀,模糊删除
  37. * @return
  38. */
  39. String keyPrefix() default "";
  40. /**
  41. * true表示清除value中的全部缓存,默认为false
  42. *
  43. * @return
  44. */
  45. boolean allEntries() default false;
  46. }