spring boot simple類(lèi)型cache使用詳解
注意:這里用的不是 redis 的緩存,simple 的緩存默認(rèn)用的是 java 的 ConcurrentHashMap, 單純的 simple 緩存,只需要引入下面的 pom 依賴(lài)即可:spring-boot-starter-cache
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
<version>2.5.3</version>
</dependency>如果你的pom里面同時(shí)還引入了:spring-boot-starter-data-redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.5.3</version>
</dependency>并且配置了 spring.redis 相關(guān)屬性,那么請(qǐng)務(wù)必指定緩存類(lèi)型為 simple,否則會(huì)自動(dòng)使用基于 redis 的 cache,如果你又沒(méi)有配置redis相關(guān)設(shè)置的話,就會(huì)報(bào):local class incompatible: stream classdesc serialVersionUID
spring:
redis:
lettuce:
pool:
min-idle=0:
max-wait=-1ms:
max-active=3:
max-idle=3:
db: ${REDIS_DB:}
host: ${REDIS_HOST:}
password: ${REDIS_PASSWORD:}
port: ${REDIS_PORT:}
# 有了上面的配置后,必須指定下面的配置,否則會(huì)自動(dòng)使用基于 redis 的 cache
spring:
cache:
type: simple然后直接新建一個(gè)Bean,配置如下的代碼即可:
@Component
public class CacheTools {
private static Logger log = LoggerFactory.getLogger(CacheTools.class);
@Cacheable("mapData")
public Map<String,String> getCacheData() {
Map<String,String> cacheMap=new HashMap<>();
cacheMap.put("k1","v1");
cacheMap.put("k2","v2");
cacheMap.put("k3","v3");
log.info(" init spring boot cache, total count={} ", cacheMap.size());
return cacheMap;
}
@CacheEvict(value = "mapData")
public void clearCache(){
}
@CachePut(cacheNames = "mapData", key = "#key")
public void updateCache(String key, String value){
}
}這樣就可以了,然后在Controller里面直接調(diào)用,第一次的沒(méi)有緩存的時(shí)候,會(huì)執(zhí)行該段代碼完成初始化,后續(xù)再調(diào)用的時(shí)候,直接就走cache了,不會(huì)在執(zhí)行代碼了, 同理執(zhí)行緩存清空和更新也類(lèi)似
到此這篇關(guān)于spring boot simple類(lèi)型cache使用的文章就介紹到這了,更多相關(guān)spring boot simple類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis中的延遲加載類(lèi)型及設(shè)定詳解
這篇文章主要介紹了mybatis中的延遲加載類(lèi)型及設(shè)定詳解,MyBatis中的延遲加載,也稱(chēng)為懶加載,是指在進(jìn)行關(guān)聯(lián)查詢(xún)時(shí),按照設(shè)置延遲規(guī)則推遲對(duì)關(guān)聯(lián)對(duì)象的select查詢(xún),延遲加載可以有效的減少數(shù)據(jù)庫(kù)壓力,需要的朋友可以參考下2023-10-10
Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù)
這篇文章主要介紹了Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Java中Lombok工具庫(kù)使用的技術(shù)指南
Lombok 是 Java 開(kāi)發(fā)中常用的工具庫(kù),通過(guò)注解的方式大大簡(jiǎn)化了代碼開(kāi)發(fā),本篇文章將從基礎(chǔ)入門(mén)到高級(jí)用法,深入講解 Lombok 的使用技巧和注意事項(xiàng),快跟隨小編一起來(lái)學(xué)習(xí)一下吧2025-04-04
springboot 啟動(dòng)項(xiàng)目打印接口列表的實(shí)現(xiàn)
這篇文章主要介紹了springboot 啟動(dòng)項(xiàng)目打印接口列表的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
java 對(duì)象輸入輸出流讀寫(xiě)文件的操作實(shí)例
這篇文章主要介紹了java 對(duì)象輸入輸出流讀寫(xiě)文件的操作實(shí)例的相關(guān)資料,這里使用實(shí)現(xiàn)Serializable接口,需要的朋友可以參考下2017-07-07
SpringMVC框架使用jackson封裝數(shù)據(jù)過(guò)程中遇到的問(wèn)題及解決
這篇文章主要介紹了SpringMVC框架使用jackson封裝數(shù)據(jù)過(guò)程中遇到的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
解決使用mybatis-plus時(shí),生成的SQL大寫(xiě)變小寫(xiě)加下劃線問(wèn)題
這篇文章主要介紹了解決使用mybatis-plus時(shí),生成的SQL大寫(xiě)變小寫(xiě)加下劃線問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

