springboot ehcache 配置使用方法

Posted diuxie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot ehcache 配置使用方法相关的知识,希望对你有一定的参考价值。

  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="menucwww.pizei.comache", 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);
}

以上是关于springboot ehcache 配置使用方法的主要内容,如果未能解决你的问题,请参考以下文章

Springboot整合ehcache缓存

重学SpringBoot系列之EhCache缓存,缓存问题

EHCache 配置 + Spring Boot:NoCacheRegionFactoryAvailableException

SpringBoot使用Ehcache

SpringBoot使用Ehcache

SpringBoot使用Ehcache