最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot整合EHCache的實踐方案

 更新時間:2018年01月18日 08:34:05   作者:OnyWang  
EhCache是一個純Java的進(jìn)程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認(rèn)的CacheProvider。這篇文章給大家介紹了springboot整合EHCache的實踐方案,需要的朋友參考下

 EhCache 是一個純Java的進(jìn)程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認(rèn)的CacheProvider。

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

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

用戶登錄之后,幾乎之后展示任何頁面都需要顯示一下用戶信息。可以在用戶登錄成功之后將用戶信息進(jìn)行緩存,之后直接取緩存數(shù)據(jù)即可。

寫在前面

對于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ù)據(jù),不再進(jìn)行二次查詢了。 但是我目前的需求僅僅是緩存登錄用戶,下次直接用代碼取出來。而不是再調(diào)一次service方法!貌似搜到任何資料!可能大家都沒遇到過吧。

探索方案

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

真實操作之后,發(fā)現(xiàn)整合ehcache非常簡單,三步即可:

導(dǎo)入maven包

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

在啟動類開啟緩存機(jī)制

 

image.png

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

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

使用緩存

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

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

public class EHCacheUtils {
 /**
  * 設(shè)置緩存對象
  * @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;
 }
}

存入緩存方法如下:

@Autowired
private CacheManager cacheManager;
//部分關(guān)鍵代碼
EHCacheUtils.setCache(cacheManager,"op",searchOP);

取出緩存方法如下:

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

寫在最后

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

總結(jié)

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

相關(guān)文章

  • JavaFX Metro UI 和 開發(fā)庫使用簡介

    JavaFX Metro UI 和 開發(fā)庫使用簡介

    這篇文章主要介紹了JavaFX Metro UI 和 開發(fā)庫解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 教你開發(fā)腳手架集成Spring?Boot?Actuator監(jiān)控的詳細(xì)過程

    教你開發(fā)腳手架集成Spring?Boot?Actuator監(jiān)控的詳細(xì)過程

    這篇文章主要介紹了開發(fā)腳手架集成Spring?Boot?Actuator監(jiān)控的詳細(xì)過程,集成包括引入依賴配置文件及訪問驗證的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 淺談Java多線程處理中Future的妙用(附源碼)

    淺談Java多線程處理中Future的妙用(附源碼)

    這篇文章主要介紹了淺談Java多線程處理中Future的妙用(附源碼),還是比較不錯的,需要的朋友可以參考下。
    2017-10-10
  • java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問題

    java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問題

    這篇文章主要為大家介紹了java圖論弗洛伊德算法和迪杰斯特拉算法解決最短路徑的問題示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Java實現(xiàn)小程序簡單五子棋

    Java實現(xiàn)小程序簡單五子棋

    這篇文章主要介紹了利用Java實現(xiàn)小程序簡單五子棋,本程序適用于java初學(xué)者鞏固類與對象、事件響應(yīng)、awt包中各種工具的相關(guān)概念以及對邏輯能力的鍛煉,下面來看具體實現(xiàn)吧
    2021-12-12
  • Java 反射機(jī)制詳解及實例代碼

    Java 反射機(jī)制詳解及實例代碼

    本文主要介紹Java 反射機(jī)制的知識,這里提供示例代碼幫助大家學(xué)習(xí)理解此部分知識,有需要的小伙伴可以參考下
    2016-09-09
  • android中判斷服務(wù)或者進(jìn)程是否存在實例

    android中判斷服務(wù)或者進(jìn)程是否存在實例

    本篇文章主要介紹了android中判斷服務(wù)或者進(jìn)程是否存在實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 存儲過程創(chuàng)建及springboot代碼調(diào)用存儲過程方式

    存儲過程創(chuàng)建及springboot代碼調(diào)用存儲過程方式

    文章介紹了如何在Navicat中創(chuàng)建存儲過程,并在Spring Boot項目中調(diào)用存儲過程,存儲過程創(chuàng)建步驟包括選擇函數(shù)類型、自定義函數(shù)名、添加參數(shù)等,在Spring Boot中調(diào)用存儲過程時,可以通過JdbcTemplate或MyBatis等工具進(jìn)行
    2024-11-11
  • springboot下使用mybatis的方法

    springboot下使用mybatis的方法

    這篇文章主要介紹了springboot下使用mybatis的方法,需要的朋友可以參考下
    2017-11-11
  • 一文帶你了解如何正確使用MyBatisPlus

    一文帶你了解如何正確使用MyBatisPlus

    在本篇文章中,我們獎通過?MyBatis?Plus?來對一張表進(jìn)行?CRUD?操作,來看看是如何簡化我們開發(fā)的。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12

最新評論

印江| 吉隆县| 阿尔山市| 黑龙江省| 聂拉木县| 海南省| 阿荣旗| 高唐县| 湘潭县| 剑川县| 洛阳市| 渭源县| 墨玉县| 商南县| 建水县| 泰兴市| 台江县| 南召县| 满城县| 宁陕县| 孝昌县| 馆陶县| 永川市| 靖宇县| 塔河县| 韶山市| 哈巴河县| 永安市| 延长县| 六安市| 安多县| 工布江达县| 马边| 玛沁县| 从江县| 融水| 长海县| 青海省| 华阴市| 武陟县| 河北区|