1.Spring 的Cache是同理与AOP代理的,不可以在同一个类中相互调用,否则会缓存失效直接查询。
2.Spring 的Cache有两个最主要的参数,value与key, value代表缓存的名称,key为缓存中存储键值对的key,这里尤其需要注意value的名称是可以在多个方法上使用想用名称的,但是如果没有在缓存方法的key中明确指明方法是从该缓存中获取值,则可能会出现始终读取缓存而缓存中没有该值,但又并不触发调用业务查询方法的情况(具体原因可能是在别的缓存中存在相同key的情况)。根据业务规则可以增加 #root.caches 指定查询缓存为当前缓存。