# 緩存注解
~~~
@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. 更新和刪除都是清除緩存