這篇文章主要介紹springboot整合EHCache的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比阿克陶網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式阿克陶網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋阿克陶地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架,具有快速、精干等特點(diǎn),是Hibernate中默認(rèn)的CacheProvider。
ehcache提供了多種緩存策略,主要分為內(nèi)存和磁盤兩級(jí),所以無需擔(dān)心容量問題。
spring-boot是一個(gè)快速的集成框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。
用戶登錄之后,幾乎之后展示任何頁面都需要顯示一下用戶信息。可以在用戶登錄成功之后將用戶信息進(jìn)行緩存,之后直接取緩存數(shù)據(jù)即可。
寫在前面
對(duì)于SpringBoot而言,內(nèi)置了屬于自己的緩存框架,即:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>
如何使用該框架進(jìn)行緩存,網(wǎng)上一大堆資料。但是絕大多數(shù)都是描述如何在service層進(jìn)行緩存,之后從數(shù)據(jù)庫取數(shù)據(jù)的時(shí)候直接拿緩存數(shù)據(jù),不再進(jìn)行二次查詢了。 但是我目前的需求僅僅是緩存登錄用戶,下次直接用代碼取出來。而不是再調(diào)一次service方法!貌似搜到任何資料!可能大家都沒遇到過吧。
探索方案
在之前的項(xiàng)目中,曾經(jīng)用到過EHcache,當(dāng)然也有對(duì)應(yīng)的EHCacheUtils方法。下面就說一下springboot和ehcache的整合。
真實(shí)操作之后,發(fā)現(xiàn)整合ehcache非常簡單,三步即可:
導(dǎo)入maven包
<dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.1</version> </dependency>
在啟動(dòng)類開啟緩存機(jī)制
image.png
添加ehcache配置文件,直接在resources下面新建ehcache.xml文件即可。文件配置如下:
<?xml version="1.0" encoding="UTF-8" ?> <ehcache> <cache name="objectCache" maxElementsInMemory="1000"></cache> </ehcache>
使用緩存
此時(shí),springboot已經(jīng)為ehcacheManager生成了一個(gè)Bean。我們?cè)谧约盒枰牡胤街苯幼⑷爰纯?。下面是我的簡單utils文件和存數(shù)據(jù)取數(shù)據(jù)的地方,僅供參考。有不對(duì)的地方,歡迎指正。
util如下,只提供set和get方法:
public class EHCacheUtils { /** * 設(shè)置緩存對(duì)象 * @param cacheManager * @param key * @param object */ public static void setCache(CacheManager cacheManager,String key,Object object){ Cache cache = cacheManager.getCache("objectCache"); Element element = new Element(key,object); cache.put(element); } /** * 從緩存中取出對(duì)象 * @param cacheManager * @param key * @return */ public static Object getCache(CacheManager cacheManager,String key){ Object object = null; Cache cache = cacheManager.getCache("objectCache"); if(cache.get(key)!=null && !cache.get(key).equals("")){ object = cache.get(key).getObjectValue(); } return object; } }
存入緩存方法如下:
@Autowired private CacheManager cacheManager; //部分關(guān)鍵代碼 EHCacheUtils.setCache(cacheManager,"op",searchOP);
取出緩存方法如下:
@Autowired private CacheManager cacheManager; Operator searchOP = (Operator) EHCacheUtils.getCache(cacheManager,"op");
以上是“springboot整合EHCache的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享文章:springboot整合EHCache的示例分析
網(wǎng)頁URL:http://aaarwkj.com/article4/gjoeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、App設(shè)計(jì)、靜態(tài)網(wǎng)站、建站公司、網(wǎng)站設(shè)計(jì)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)