gpt4 book ai didi

springboot ehcache 配置使用方法代码详解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章springboot ehcache 配置使用方法代码详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单.

Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易.

下面通过本文给大家介绍springboot ehcache 配置使用方法,具体内容如下所示:

1. pom 引入依赖 。

?
1
2
3
4
5
<!-- Ehcache -->
     <dependency>
         <groupId>net.sf.ehcache</groupId>
         <artifactId>ehcache</artifactId>
     </dependency>

2.resources 目录下直接放个文件ehcache.xml 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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" 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**删除菜单
      * @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 配置使用内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.cnblogs.com/teacher11/archive/2021/06/25/14929866.html 。

最后此篇关于springboot ehcache 配置使用方法代码详解的文章就讲到这里了,如果你想了解更多关于springboot ehcache 配置使用方法代码详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com