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 配置使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: