一般缓存数据的操作,我们会在业务层处理
一、Cacheable
1.
2.
自定义key,比如把key设置成:方法名[参数]
3.
自定义KeyGenerator来生成自定义的key
4.
5.
上述的condition与unless都是支持SpEL表达式的,而且二者是或的关系
6.
sync与unless不可以同时使用
二、CachePut
【注意】查询方法的结果放入缓存中时,key是方法参数,也就是对象的id。因为没有特殊配置,所以是默认的key
【注意】修改的方法,key需要特殊指定,否则采用默认的不会把key对应的value数值覆盖。最终目的就是实现修改方法的key也是对象的id。
三、CacheEvict
(1)指定key删除
(2)清楚指定的缓存
(3)beforeInvocation
【提示】10/0就是模拟异常
四、Caching
这个@Caching有点像上面三个的组合注解
拓展:CacheConfig
【提示】CacheConfig是没有value的!指定缓存的名称时只能使用cacheNames。使用该注解进行统一指定之后,类下的方法就不需要再指定了。