springboot ehcache 配置使用方法代码详解
EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单。
Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易。
下面通过本文给大家介绍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的默认缓存策略 --> <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 对应 上面 xmlname="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 配置使用方法代码详解的文章就介绍到这了,更多相关springboot ehcache 配置使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
使用lombok注解导致mybatis-plus TypeHandler失效的解决
这篇文章主要介绍了使用lombok注解导致mybatis-plus TypeHandler失效的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07聊聊SpringCloud中的Ribbon进行服务调用的问题
SpringCloud-Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。本文给大家介绍SpringCloud中的Ribbon进行服务调用的问题,感兴趣的朋友跟随小编一起看看吧2022-01-01springboot 运行 jar 包读取外部配置文件的问题
这篇文章主要介绍了springboot 运行 jar 包读取外部配置文件,本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件,主要分为两种方法,每种方法通过实例代码介绍的非常详细,需要的朋友可以参考下2021-07-07SpringBoot @SpringBootTest加速单元测试的小诀窍
这篇文章主要介绍了SpringBoot @SpringBootTest加速单元测试的小诀窍,具有很好的参考价值,对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11MybatisPlus为何可以不用@MapperScan详解
这篇文章主要给大家介绍了关于MybatisPlus为何可以不用@MapperScan的相关资料,文中通过图文介绍的非常详细,对大家学习或者使用MybatisPlus具有一定的参考学习价值,需要的朋友可以参考下2023-04-04
最新评论