国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

springboot整合EHCache的實踐方案

2024-07-13 10:16:54
字體:
來源:轉載
供稿:網友

 EhCache 是一個純Java的進程內緩存框架,具有快速、精干等特點,是Hibernate中默認的CacheProvider。

  ehcache提供了多種緩存策略,主要分為內存和磁盤兩級,所以無需擔心容量問題。

  spring-boot是一個快速的集成框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。

用戶登錄之后,幾乎之后展示任何頁面都需要顯示一下用戶信息??梢栽谟脩舻卿洺晒χ髮⒂脩粜畔⑦M行緩存,之后直接取緩存數據即可。

寫在前面

對于SpringBoot而言,內置了屬于自己的緩存框架,即:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>

如何使用該框架進行緩存,網上一大堆資料。但是絕大多數都是描述如何在service層進行緩存,之后從數據庫取數據的時候直接拿緩存數據,不再進行二次查詢了。 但是我目前的需求僅僅是緩存登錄用戶,下次直接用代碼取出來。而不是再調一次service方法!貌似搜到任何資料!可能大家都沒遇到過吧。

探索方案

在之前的項目中,曾經用到過EHcache,當然也有對應的EHCacheUtils方法。下面就說一下springboot和ehcache的整合。

真實操作之后,發現整合ehcache非常簡單,三步即可:

導入maven包

<dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.1</version></dependency>

在啟動類開啟緩存機制

springboot,整合,ehcache

image.png

添加ehcache配置文件,直接在resources下面新建ehcache.xml文件即可。文件配置如下:

<?xml version="1.0" encoding="UTF-8" ?><ehcache> <cache name="objectCache" maxElementsInMemory="1000"></cache></ehcache>

使用緩存

此時,springboot已經為ehcacheManager生成了一個Bean。我們在自己需要的地方直接注入即可。下面是我的簡單utils文件和存數據取數據的地方,僅供參考。有不對的地方,歡迎指正。

util如下,只提供set和get方法:

public class EHCacheUtils { /**  * 設置緩存對象  * @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); } /**  * 從緩存中取出對象  * @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; }}

存入緩存方法如下:

@Autowiredprivate CacheManager cacheManager;//部分關鍵代碼EHCacheUtils.setCache(cacheManager,"op",searchOP);

取出緩存方法如下:

@Autowiredprivate CacheManager cacheManager;Operator searchOP = (Operator) EHCacheUtils.getCache(cacheManager,"op");

寫在最后

個人覺得,springboot提供的基于注解的方式進行緩存更加適合攔截器的方式去處理。對應指定的請求均去走設置了緩存機制的service方法,該sevice會根據實際情況去直接取緩存或者查詢數據庫。

總結

以上所述是小編給大家介紹的springboot整合EHCache的實踐方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂林市| 来宾市| 淮滨县| 盘锦市| 博客| 仪陇县| 涿鹿县| 沙洋县| 横山县| 宜兴市| 措勤县| 阿拉尔市| 东平县| 西华县| 西乌珠穆沁旗| 德清县| 齐齐哈尔市| 界首市| 科技| 万安县| 建阳市| 麦盖提县| 南部县| 吐鲁番市| 逊克县| 潢川县| 永新县| 武夷山市| 泾川县| 循化| 凤庆县| 灵川县| 松溪县| 垣曲县| 合阳县| 焦作市| 正宁县| 金昌市| 武宣县| 佛冈县| 巨野县|