# 缓存注解 ~~~ @CacheConf:作用在类上 功能: 默认给指定的类下面方法中含有注解Cache、CachePut、CacheClear前面添加前置scop的key; 当Cache、CachePut、CacheClear指定了scope时,@CacheConf指定的scop将失去效果 ~~~ ~~~ @Cache: 作用在方法上 将方法的返回值缓存起来,key 可以使用el表达式来指定key ~~~ ~~~ @CachePut: 作用在方法上 根据key值更新缓存,key 可以使用el表达式来指定key。缓存值为方法返回值 ~~~ ~~~ @CacheClear: 作用在方法上 根据key值更新缓存,key 可以使用el表达式来指定key ~~~ ## 缓存key,以及存储的值 ~~~ user("user") 下的缓存key如下: ~~~ 1. user:user:{userId} 缓存单个用户sys_user 里面信息 2. user:role:{userId} 存储用户的单表sys_role所有角色信息 3. user:menu:{userId} 存储单表sys_menu用户的菜单信息 当菜单变更时: 需要清空`user:menu:*`的所有 缓存信息 当用户信息变更时: 需要清空 `user:*:{userId} `的所有缓存信息 当角色变更时: 需要清空`user:*:*`的用户信息 ~~~ dict("dict") 下的缓存key如下: ~~~ 4. dict:tree:{typeCode} 存储sys_dict_tree表中typeCode相同的树 5. dict:list:{typeCode} 存储sys_dict_list表中typeCode相同的list ~~~ office("office") 下的缓存key如下: ~~~ 6. office:{officeId} 存储sys_office单表部门信息 ## 缓存原则 1. 保存时候不插入缓存,只有在查询时候插入缓存 2. 更新和删除都是清除缓存