本文主要是介绍springboot ehcache 配置使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. pom 引入依赖
<!-- Ehcache --><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId></dependency>
2.resources 目录下直接放个文件 ehcache.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"updateCheck="false"><diskStore path="java.io.tmpdir"/><!--defaultCache:echcache的默认缓存策略 --><defaultCachemaxElementsInMemory="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* @www.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* @www.fhadmin.org*/@Cacheable(key="'menu-'+#parentId",value="menucache")public List<Menu> listSubMenuByParentId(String parentId) throws Exception {return menuMapper.listSubMenuByParentId(parentId);}
这篇关于springboot ehcache 配置使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!