精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

無需Redis,SpringBoot集成Ehcache實現緩存

開發 架構
今天分享一個SpringBoot集成Ehcache實現緩存的教程,適合中小項目中使用。

前言

在平時做項目都要用到緩存,方便臨時存儲一些數據,加快訪問速度。如果項目比較小,搭建redis服務,后期在維護上比較麻煩。今天分享一個SpringBoot集成Ehcache實現緩存的教程,適合中小項目中使用。

準備工作

1、maven中導入依賴

<!--開啟Springboot cache 緩存 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- ehcache 緩存 -->
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.1.1</version>
</dependency>

2、啟動類上增加緩存注解

@MapperScan("com.zhangls.ehcache.dao.**")
@SpringBootApplication
@EnableCaching
public class EhcacheApplication {
public static void main(String[] args) {
SpringApplication.run(EhcacheApplication.class, args);
}
}

3、配置Ehcache

在resources下增加ehcache.xml文件,配置如下:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.ehcache.org/v3"
xmlns:jsr107="http://www.ehcache.org/v3/jsr107"
xsi:schemaLocation="
http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd
http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.0.xsd">
<service>
<!--開啟service注解-->
<jsr107:defaults enable-statistics="true"/>
</service>
<!-- user 為該緩存名稱 對應@Cacheable的屬性cacheNames-->
<cache alias="UserCache">
<!-- 指定緩存 key 類型,對應@Cacheable的屬性key -->
<key-type>java.lang.String</key-type>
<!-- 配置value類型 -->
<value-type>com.zhangls.ehcache.entity.User</value-type>
<expiry>
<!-- 緩存 ttl,單位為分鐘,現在設置的是1分鐘 -->
<ttl unit="minutes">1</ttl>
</expiry>
<resources>
<!-- 分配資源大小 -->
<heap unit="entries">2000</heap>
<offheap unit="MB">100</offheap>
</resources>
</cache>
<!--這里可以配置N個 。。。。 不同的cache 根據業務情況配置-->
</config>

4、application.yml中配置

spring:
cache:
jcache:
config: classpath:ehcache.xml

注意事項

1.Ehcache 會在一定的規則下會序列化后存儲到硬盤上,因此緩存對象必須支持序列化。

public class User implements Serializable{}

2.Spring定義了緩存接口Cache和管理緩存控制器 CacheManager,路徑為

import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;

使用方法--手動管理方式

@Autowired
private CacheManager cacheManager;
@GetMapping("/addCache")
public String addCache() {
User user = new User();
user.setUsername("九天銀河聊編程");
user.setAge(34);
Cache cache = cacheManager.getCache("UserCache");
cache.put("user", user);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
return sdf.format(now) + ": " + "保存成功";
}

@GetMapping("/getCache")
public String getCache() {
Cache cache = cacheManager.getCache("UserCache");
Cache.ValueWrapper res = cache.get("user");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
if (null != res) {
User user = (User) res.get();//這里獲取 ehcache.xml 中 <cache> value-type 定義的類型,可以直接強轉。
return sdf.format(now) + ": " + "姓名:" + user.getUsername() + ",年齡:" + user.getAge();
}
return sdf.format(now) + ": " + "沒有找到緩存!";
}

運行結果

執行:127.0.0.1:8080/ehcache/addCache。

執行:127.0.0.1:8080/ehcache/getCache。

1分鐘后執行127.0.0.1:8080/ehcache/getCache,緩存失效。

使用方法--@Cacheable 注解方式

service代碼:

@Service
public class ImPersonServiceImpl implements ImPersonService{
@Resource
private PersonMapper personMapper;
@Override
@Cacheable(cacheNames = "PersonCache", key = "#personId")
public ImPerson selectByPrimaryKey(String personId) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
System.out.println(sdf.format(now) + ": 未命中緩存,請求數據庫");
return personMapper.selectByPrimaryKey(personId);
}
}

controller代碼:

@GetMapping("/getCachePerson")
public ImPerson getCachePerson() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date start = new Date();
System.out.println(sdf.format(start) + ":執行開始------");
ImPerson person = imPersonService.selectByPrimaryKey("1");
Date end = new Date();
System.out.println(sdf.format(end) + ":執行結束------");
return person;
}

執行兩次:127.0.0.1:8080/ehcache/getCachePerson。

控制臺只打印一次SQL信息,說明第二次請求從緩存中獲取。

@Cacheable屬性說明

  • cacheNames/value :用來指定緩存組件的名字。
  • key :緩存數據時使用的 key,可以用它來指定。默認是使用方法參數的值。(這個 key 你可以使用 spEL 表達式來編寫)。
  • keyGenerator :key 的生成器。 key 和 keyGenerator 二選一使用。
  • cacheManager :可以用來指定緩存管理器。從哪個緩存管理器里面獲取緩存。
  • condition :可以用來指定符合條件的情況下才緩存,如下表示id>1的進行緩存。
@Cacheable(cacheNames = "PersonCache", condition  = "#id > 1")
  • unless :否定緩存。當 unless 指定的條件為 true ,方法的返回值就不會被緩存。當然你也可以獲取到結果進行判斷。(通過 #result 獲取方法結果)。
  • sync :是否使用異步模式。

踩坑說明

Spring 緩存注解是基于Spring AOP切面,必須走代理才能生效。同類調用或者子類調用父類帶有緩存注解的方法時屬于內部調用,沒有走代理,所以注解不會生效。所以在使用@Cacheable時,一定要放在在service的實現類中進行調用。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-10-12 08:00:48

2021-09-26 05:02:00

緩存Ehcache用法

2023-01-11 15:11:36

SpringEhcache

2022-03-15 08:22:31

Ehcachespring緩存

2019-04-23 08:42:42

EhcacheMemcacheRedis

2014-12-31 09:56:29

Ehcache

2014-12-31 09:45:48

EhCache

2024-10-09 10:46:41

springboot緩存redis

2024-12-18 17:20:07

緩存預熱緩存系統Spring

2024-10-28 07:15:00

SpringBoot緩存預熱數據加載

2020-01-10 15:42:13

SpringBootRedis數據庫

2021-07-11 07:05:28

RedisSpringBoot用法

2024-04-29 18:55:16

緩存Spring性能

2020-06-29 07:43:12

緩存RedisSpringBoot

2012-02-01 15:53:03

JavaEhcache

2024-11-01 16:18:52

2021-02-17 21:04:03

Ehcache緩存Java

2011-11-16 10:46:33

Ehcache

2020-07-15 16:50:57

Spring BootRedisJava

2020-08-19 17:56:46

緩存Redis集中式
點贊
收藏

51CTO技術棧公眾號

日本一区二区三区在线不卡| 精品电影一区| 欧美一区二视频| 欧美日韩中文字幕在线播放| 五月婷婷狠狠干| 奇米综合一区二区三区精品视频| 久久久精品国产亚洲| 久久性爱视频网站| 成人性片免费| 天天综合网天天综合色| 亚洲成色www久久网站| 精品国产亚洲AV| 国产精品日本欧美一区二区三区| 在线观看中文字幕亚洲| 国产av一区二区三区传媒| 香蕉视频亚洲一级| 亚洲精品日产精品乱码不卡| 麻豆久久久9性大片| 99国产揄拍国产精品| 亚洲综合激情| 欧美大片va欧美在线播放| 免费看污片网站| 综合久久成人| 欧美军同video69gay| 亚洲熟妇av日韩熟妇在线| 成人在线视频亚洲| 久久久久99精品一区| 成人自拍偷拍| jizz中国少妇| 久久精品国产网站| 国产精品扒开腿爽爽爽视频| 国产在线视频99| 一区二区三区国产精华| 中文字幕日韩欧美| 白丝女仆被免费网站| 国产劲爆久久| 日韩欧美国产一区二区在线播放| 91制片厂毛片| 婷婷综合六月| 欧美日韩在线观看视频| 一卡二卡三卡视频| 亚洲精品天堂| 亚洲欧美日韩中文字幕一区二区三区| 日韩免费av一区二区三区| 神马亚洲视频| 波波电影院一区二区三区| 999视频在线免费观看| 国产精品主播一区二区| 久久精品国内一区二区三区| 国产精品普通话| 久久精品偷拍视频| 久久亚洲风情| 国产aaa精品| 精品欧美一区二区三区免费观看| 99精品99| 欧美亚洲国产成人精品| 亚洲高清毛片一区二区| 国产日韩免费| 国产成人精品免费视频| 日韩美一区二区| 视频一区中文字幕| 国产精品极品美女在线观看免费| 黄色av网站免费观看| 久久中文在线| 国产精品久久久久久久久久久新郎| 天码人妻一区二区三区在线看| 久久aⅴ国产紧身牛仔裤| 51午夜精品视频| 亚洲成人第一网站| 蜜桃av一区二区| 国产日韩精品综合网站| 国产精品怡红院| 成人性色生活片免费看爆迷你毛片| 俄罗斯精品一区二区三区| 手机在线观看毛片| 久久色.com| 亚洲一区三区电影在线观看| 快射视频在线观看| 亚洲国产毛片aaaaa无费看| 日本a视频在线观看| av综合电影网站| 欧美蜜桃一区二区三区| 99国产精品免费视频| 久久丝袜视频| 中文字幕久久久| 免费中文字幕在线| 亚洲人体偷拍| 国产精品大陆在线观看| 国模吧一区二区三区| 精品无码在线观看| 91精品蜜臀一区二区三区在线| 成年无码av片在线| 日韩精品在线不卡| 全部av―极品视觉盛宴亚洲| 成人在线视频网| 成人免费公开视频| 中文字幕巨乱亚洲| 男人天堂a在线| 欧美精品资源| 精品少妇一区二区三区在线播放| 黄色在线观看av| 中文字幕一区二区三三| 69影院欧美专区视频| 国产欧美熟妇另类久久久 | 一区三区在线欧| 丝袜情趣国产精品| 日本在线观看中文字幕| 麻豆免费看一区二区三区| 岛国视频一区免费观看| 懂色一区二区三区| 亚洲成人激情自拍| 国产成人美女视频| 伊人成综合网yiren22| 欧美老女人性视频| 中文字幕在线一| 91在线观看视频| 警花观音坐莲激情销魂小说| 欧美大片免费高清观看| 精品国产区一区| 亚洲女人毛茸茸高潮| av在线免费观看网站| 欧美人与性动交xxⅹxx| 欧美一级片免费看| 久久国产柳州莫菁门| 99热精品在线| 91精品天堂| 国产三区四区在线观看| 亚洲成人一区二区| 日本高清免费观看| 久久视频国产| 国产福利精品av综合导导航| 欧美自拍偷拍第一页| 亚洲女人****多毛耸耸8| 男女污污的视频| 九九在线高清精品视频| 欧美极品美女视频网站在线观看免费| 在线播放成人av| 久久精品人人爽人人爽| 久久免费视频3| 国内精品国产成人国产三级粉色| 九九热精品在线| 99热这里只有精品1| 中文字幕一区二区三区四区| 性欧美videossex精品| 精品一区二区三区的国产在线观看| 97视频在线免费观看| 蜜桃91麻豆精品一二三区 | 亚洲bbw性色大片| 暖暖成人免费视频| 亚洲欧美日韩精品久久| 国产无人区码熟妇毛片多| 不卡的av网站| 337p粉嫩大胆噜噜噜鲁| 色婷婷久久久| 奇门遁甲1982国语版免费观看高清| 欧洲成人一区二区三区| 午夜电影一区二区三区| 国产精品九九视频| 9久re热视频在线精品| 九九九九九精品| 伊人久久视频| 亚洲人在线观看| 正在播放亚洲精品| 亚洲欧洲无码一区二区三区| 欧美激情第3页| 欧美韩日精品| 国产一区二区三区色淫影院 | 国产精品免费电影| 永久免费在线观看视频| 91精品欧美综合在线观看最新| 我要看黄色一级片| 成人午夜碰碰视频| 久久久久狠狠高潮亚洲精品| 欧美亚洲国产激情| 亚洲free性xxxx护士hd| av免费在线视| 亚洲欧美激情四射在线日| 中文字幕观看在线| 亚洲乱码中文字幕| 亚洲 欧美 日韩在线| 久久国产高清| 日韩精品一区二区三区电影| 黄色欧美在线| 国产精品海角社区在线观看| 国产丝袜在线| 日韩精品在线电影| 97精品人妻一区二区三区在线| 亚洲一区在线播放| 中文字幕网站在线观看| 精品一区二区久久久| 国产激情片在线观看| 亚洲婷婷丁香| 成人免费xxxxx在线观看| 国内激情视频在线观看| 最近2019中文字幕在线高清 | 顶级嫩模精品视频在线看| 97成人在线观看视频| 五月天久久久| 麻豆精品视频| 77成人影视| 国产精品视频网址| 多野结衣av一区| 久久久www成人免费精品张筱雨| 午夜在线观看视频18| 欧美精品在线一区二区三区| 天天综合网入口| 亚洲精品综合在线| av网站免费在线看| 99久久精品免费观看| www.51色.com| 日韩激情一二三区| 全黄性性激高免费视频| 国产精品久久占久久| 欧美日韩在线不卡一区| 国产精品对白久久久久粗| 国产综合福利在线| 最新日韩三级| 欧美性受xxxx白人性爽| 日本小视频在线免费观看| 色妞久久福利网| 九色视频网站在线观看| 亚洲国产古装精品网站| 精品人妻午夜一区二区三区四区 | 精品国产乱码一区二区三 | 亚洲另类中文字| 国产一级久久久久毛片精品| 97精品电影院| 免费不卡的av| 国产成人在线视频播放| 岛国av免费在线| 蜜桃av一区二区| 丁香婷婷激情网| 另类av一区二区| 97超碰在线人人| 亚洲小说欧美另类社区| 日韩欧美视频免费在线观看| **女人18毛片一区二区| 一级日韩一区在线观看| 日韩在线第七页| 先锋在线资源一区二区三区| 国产99久久| 欧美午夜精品理论片a级大开眼界| 免费看久久久| 精品国产一二| 日韩一级电影| 欧美久久久久久一卡四| 天堂综合网久久| 久久66热这里只有精品| 亚洲涩涩av| 日本一区二区三区视频免费看 | 国产一区二区三区在线看| 蜜桃视频在线播放| 亚洲偷欧美偷国内偷| 国产黄在线看| 色妞久久福利网| av网址在线看| 九九精品视频在线观看| gogo高清午夜人体在线| 性日韩欧美在线视频| 亚洲天堂电影| 国产成人拍精品视频午夜网站| 国产精品亚洲d| 国产日韩一区在线| 青草伊人久久| 久久96国产精品久久99软件| 国产尤物久久久| 成年人黄色在线观看| 欧美777四色影| 成人在线观看你懂的| 久久精品电影| 天堂av8在线| 成人免费观看av| 亚欧洲乱码视频| 中文字幕一区二区三区四区不卡| 欧美三级小视频| 精品久久久久久久久中文字幕| 国产嫩bbwbbw高潮| 欧美日韩国产一区| 性一交一乱一色一视频麻豆| 日韩av在线不卡| eeuss影院在线播放| 久久精品国产2020观看福利| 高清电影在线免费观看| 日韩免费精品视频| 蜜桃精品一区二区三区| 精品国产免费人成电影在线观...| 精品久久成人| 国产爆乳无码一区二区麻豆| 久久久久国内| 午夜诱惑痒痒网| 久久女同精品一区二区| 国产成人av免费在线观看| 天天色天天操综合| 一区二区三区午夜| 日韩av影院在线观看| 成人在线app| 国产99久久精品一区二区永久免费 | 狠狠爱综合网| 国内自拍视频一区| 国产成人精品影院| 亚洲一级理论片| 亚洲成a人片综合在线| 中文字幕在线2019| 日韩电影大全免费观看2023年上 | 深爱激情综合网| 成人午夜视频免费观看| 日本不卡一二三区黄网| 污污污www精品国产网站| 中文字幕一区二区三区四区不卡 | 久久精品电影| 中文字幕永久免费| 中文子幕无线码一区tr| 日韩精品在线观看免费| 日韩欧美中文字幕精品| 永久免费av在线| 国产精品户外野外| 婷婷激情久久| 丝袜人妻一区二区三区| 精品在线播放免费| 亚洲一区二区自偷自拍| 欧美日韩一二三四五区| 亚洲男女视频在线观看| 日韩一区视频在线| 亚洲精品一级二级| 精品一区二区三区日本| 国产精品va| 视频区 图片区 小说区| 国产精品久久夜| 夜夜爽妓女8888视频免费观看| 亚洲成人网久久久| 色在线视频网| 99久久精品免费看国产四区| 欧美va亚洲va日韩∨a综合色| mm131亚洲精品| 日本一区二区免费在线| 成人a v视频| 国产亚洲欧洲在线| 亚洲精品一级二级| 日本视频一区二区在线观看| 久久精品三级| 中文字幕一区二区三区人妻| 欧美日韩国产丝袜美女| 天天躁日日躁狠狠躁伊人| 国内精品久久久久久久| 欧美黑人巨大videos精品| 和岳每晚弄的高潮嗷嗷叫视频| 国产成人精品免费网站| 国产午夜福利一区二区| 精品国产123| 九色porny丨首页入口在线| 国产欧美在线一区二区| 国产精品老牛| 最近中文字幕在线mv视频在线| 欧美日韩国产一中文字不卡| 在线观看xxx| 国产精国产精品| 久久网站免费观看| 色偷偷中文字幕| 亚洲成国产人片在线观看| 四虎影视在线播放| 国产精品成人观看视频国产奇米| 国产一区二区三区网| 中文字幕av专区| 综合欧美亚洲日本| 午夜精品久久久久久久爽| 久久人人97超碰精品888| 日韩欧美在线精品| 91极品视频在线观看| 亚洲美女免费视频| 亚洲欧美综合一区二区| 国产精品1234| 欧美激情第10页| 懂色av粉嫩av蜜乳av| 欧美午夜精品一区二区蜜桃| 成人影院在线看| 欧美激情论坛| 精品午夜久久福利影院| 精品无码免费视频| 伊人成人开心激情综合网| 成人黄色理论片| 免费无码不卡视频在线观看| 国产精品免费视频一区| 亚洲欧美另类视频| 国产99在线|中文| 欧美激情在线| 亚洲午夜久久久久久久久红桃| 欧美日韩成人一区二区| av丝袜在线| 伊人情人网综合| 92国产精品观看| 一卡二卡在线视频| 国模私拍视频一区| 久久中文字幕av| 国产精品无码永久免费不卡| 欧美日韩国产中文| 北岛玲heyzo一区二区| 在线观看成人免费| 国产亚洲一区字幕| 亚洲第一成人av| 成人a在线观看|