當前位置:
首頁 > 知識 > SpringBoot:SpringDataRedis緩存改造

SpringBoot:SpringDataRedis緩存改造

在做一個SpringBoot微服務的項目,為了加快介面響應速度,把ProdOffer-銷售品數據,改造成Redis緩存。

一.修改 pom.xml

在項目pom中引入SpringDataRedis:

<!-- SpringDataRedis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

二.修改 application.yml

添加Redis配置信息:

redis:
host: 192.168.195.135
port: 6379

三.代碼改造

1.在 Service 中注入RedisTemplate

@Autowired
private RedisTemplate redisTemplate;

2.針對查詢操作:

修改之前:

return prodOfferDao.findById(id).get();

首先從緩存中取,若沒有取到,則查詢DB並把結果放入緩存:

// 從緩存中提取
ProdOffer prodOffer =
(ProdOffer) redisTemplate.opsForValue().get("prodoffer_" + id);
// 如果緩存沒有則到資料庫查詢並放入緩存
if(null==prodOffer){
prodOffer = prodOfferDao.findById(id).get();
redisTemplate.opsForValue().set("prodoffer_" + id,prodOffer);
}

3.針對修改或者刪除操作:

修改之前:

prodOfferDao.save(prodOffer);

在每次修改或者刪除數據後,把緩存中的數據清空:

redisTemplate.delete("prodoffer_" + prodOffer.getId());// 清空緩存
prodOfferDao.save(prodOffer);

4.緩存過期時間設置

在每次set設置值的時候,可以指定過期時間:

redisTemplate.opsForValue().set("prodoffer_" + id,prodOffer,10, TimeUnit.SECONDS);// 設置10秒過期

改造過程不是很複雜,Redis改造後,通過Postman測試介面,響應時間有明顯縮短。

SpringBoot:SpringDataRedis緩存改造

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

如何給MySQL資料庫添加遠程IP連接授權用戶
RocketMQ源碼:通信協議設計及編解碼

TAG:程序員小新人學習 |