欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot整合EHCache的實踐方案

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

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

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

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

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

寫在前面

對于SpringBoot而言,內(nèi)置了屬于自己的緩存框架,即:

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

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

探索方案

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

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

導入maven包

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

在啟動類開啟緩存機制

 

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 {
 /**
  * 設置緩存對象
  * @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;
//部分關鍵代碼
EHCacheUtils.setCache(cacheManager,"op",searchOP);

取出緩存方法如下:

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

寫在最后

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

總結

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

相關文章

  • 詳解java的四舍五入與保留位示例

    詳解java的四舍五入與保留位示例

    本篇文章主要介紹了java的四舍五入與保留位示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • java并發(fā)編程Lock鎖可重入性與公平性分析

    java并發(fā)編程Lock鎖可重入性與公平性分析

    這篇文章主要為大家介紹了java并發(fā)編程Lock鎖可重入性與公平性分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Servlet的5種方式實現(xiàn)表單提交(注冊小功能),后臺獲取表單數(shù)據(jù)實例

    Servlet的5種方式實現(xiàn)表單提交(注冊小功能),后臺獲取表單數(shù)據(jù)實例

    這篇文章主要介紹了Servlet的5種方式實現(xiàn)表單提交(注冊小功能),后臺獲取表單數(shù)據(jù)實例,非常具有實用價值,需要的朋友可以參考下
    2017-05-05
  • Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=111

    Caused by: java.io.IOException: DerInputStrea

    這篇文章主要介紹了Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • Spring Boot 項目發(fā)布到 Tomcat 服務器的操作步驟

    Spring Boot 項目發(fā)布到 Tomcat 服務器的操作步驟

    這篇文章主要介紹了Spring Boot 項目發(fā)布到 Tomcat 服務器的操作步驟,需要的朋友可以參考下
    2017-04-04
  • Spring Security中successHandler和failureHandler使用方式

    Spring Security中successHandler和failureHandler使用方式

    這篇文章主要介紹了Spring Security中successHandler和failureHandler使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 如何從官網(wǎng)下載Hibernate jar包的方法示例

    如何從官網(wǎng)下載Hibernate jar包的方法示例

    這篇文章主要介紹了如何從官網(wǎng)下載Hibernate jar包的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • Java由淺入深通關抽象類與接口下

    Java由淺入深通關抽象類與接口下

    在類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧
    2022-04-04
  • jar包加密方案分享

    jar包加密方案分享

    如何對jar包進行加密呢?其實沒有想象中的那么困難,有一款開源工具已經(jīng)提供了較為完善的加密方案,這款開源工具的名字叫做xjar。接下來我們就看一下使用xjar工具給jar包加密有多么的容易。
    2021-06-06
  • Java IO中字節(jié)流復制圖片實現(xiàn)代碼

    Java IO中字節(jié)流復制圖片實現(xiàn)代碼

    這篇文章主要介紹了Java IO中字節(jié)流復制圖片實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2017-04-04

最新評論