errors
Failed to load YAML frontmatter: (<unknown>): mapping values are not allowed in this context at line 2 column 6

方法缓存就是缓存方法的执行结果。在下一次调用的时候,如果确认参数没有变化,且缓存未失效,则不调用方法,直接返回缓存。合理使用缓存,可以提升应用性能。

方法缓存是通过在方法上加注解实现的,如下所示:

  /**
   * 缓存方法的执行结果
   */
  @Cache(name = "c1",key = "s{1} {2} {3} {4} {5}")
  @Override
  public List<CustomerVm> search(Filter filter, List<String> properties, Integer limit, Integer offset, String order) {}


  /**
   * 取消名称是c1,key以s开头的所有缓存
   */
  @CacheInvalidate(name = "c1", prefix = "s")
  public Object test1() {
      return "demo_customer test1";
  }

@Cache

缓存注解,在方法上标注

属性 描述
name 缓存名称,运行时模型所在的app内唯一
key 根据参数生成的key,比如,sss{1} ff{2.value}s,{1},{2}分别代表第一个参数,第二个参数
expire 过期时间(秒)

@CacheInvalidate

取消缓存注解,在方法上标注。

如果prefix不为空,则prefix优先生效。否则,keys生效。如果prefix和keys都不存在,则所有的参数组成一个默认的key

属性 描述
name 缓存名称,运行时模型所在的app内唯一
keys key的数组
prefix 前缀,如果配置的话,以该参数为前缀的全部清除