1. pom 引入依赖
-
<!-- ehcache -->
-
<dependency>
-
<groupid>net.sf.ehcache</groupid>
-
<artifactid>ehcache</artifactid>
-
</dependency>
2.resources 目录下直接放个文件 ehcache.xml
-
<ehcache xmlns:xsi=""
-
xsi:nonamespaceschemalocation=""
-
updatecheck="false">
-
-
<diskstore path="java.io.tmpdir"/>
-
-
<!--defaultcache:echcache的默认缓存策略 -->
-
<defaultcache
-
maxelementsinmemory="10000"
-
eternal="false"
-
timetoidleseconds="120"
-
timetoliveseconds="120"
-
maxelementsondisk="10000000"
-
diskexpirythreadintervalseconds="120"
-
memorystoreevictionpolicy="lru">
-
<persistence strategy="localtempswap"/>
-
</defaultcache>
-
-
<!-- 菜单缓存策略 -->
-
<cache name="menucache"
-
maxelementsinmemory="10000"
-
eternal="false"
-
timetoidleseconds="120"
-
timetoliveseconds="120"
-
maxelementsondisk="10000000"
-
diskexpirythreadintervalseconds="120"
-
memorystoreevictionpolicy="lru">
-
<persistence strategy="localtempswap"/>
-
</cache>
-
-
</ehcache>
3.在service层 方法上加上注解
@cacheevict(value="menucache", allentries=true) ,更新缓存
@cacheable(key="'menu-' #parentid",value="menucache") 读取缓存, "'menu-' #parentid" 通配符,也可以直接写死字符串
menucache 对应 上面 xml name="menucache"
-
/**删除菜单
-
* @param menu_id
-
* @fhadmin.org
-
*/
-
@cacheevict(value="menucache", allentries=true)
-
public void deletemenubyid(string menu_id) throws exception{
-
this.cleanredis();
-
menumapper.deletemenubyid(menu_id);
-
}
-
-
/**
-
* 通过id获取其子一级菜单
-
* @param parentid
-
* @return
-
* @fhadmin.org
-
*/
-
@cacheable(key="'menu-' #parentid",value="menucache")
-
public list<menu> listsubmenubyparentid(string parentid) throws exception {
-
return menumapper.listsubmenubyparentid(parentid);
-
}
阅读(8784) | 评论(0) | 转发(0) |