Springboot如何設(shè)置靜態(tài)資源緩存一年
這篇文章主要介紹了Springboot如何設(shè)置靜態(tài)資源緩存一年,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
由于本人所在項(xiàng)目組,所用的項(xiàng)目是前后端分離的,前端是React 的SPA,每次打包都會(huì)新版本的靜態(tài)文件。
然而,在有些時(shí)候,這些靜態(tài)資源是不變的,故可以將資源緩存至用戶本地,提升性能。
寫法如下,需要繼承WebMvcConfigurerAdapter類,并重寫addResourceHandlers方法。就可以告訴瀏覽器強(qiáng)制緩存
package cn.ixan.search.configuration;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import java.util.concurrent.TimeUnit;
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
/**
* <p>設(shè)置靜態(tài)資源緩存時(shí)間:1年</p>
* <p>注意:不可緩存入口文件</p>
* @param registry 資源注冊
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/*.js","/*.css")
.addResourceLocations("classpath:/static/")
//.setCacheControl(CacheControl.maxAge(365,TimeUnit.DAYS).cachePublic())
.setCachePeriod(3153600);
}
}
據(jù)某位大佬說,大家可以強(qiáng)制設(shè)置靜態(tài)資源緩存一年,但一定不要緩存入口文件,大家可以試試改造自己的項(xiàng)目。
如果設(shè)置成功,會(huì)有下面的效果,from disk cache,一般情況是from memory cache

大家還可以注意下cache-control這個(gè)值,當(dāng)然這個(gè)值是以秒為單位的。

有興趣的同學(xué)可以研究研究cache-control,補(bǔ)充補(bǔ)充web基礎(chǔ)知識(shí)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot中關(guān)于static和templates的注意事項(xiàng)以及webjars的配置
- SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法
- SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實(shí)現(xiàn)
- SpringBoot中配置Web靜態(tài)資源路徑的方法
- springboot項(xiàng)目打成jar包后無法獲取static下的靜態(tài)資源文件的問題分析
- 基于Springboot2.3訪問本地路徑下靜態(tài)資源的方法(解決報(bào)錯(cuò):Not allowed to load local resource)
- SpringBoot中的五種對靜態(tài)資源的映射規(guī)則的實(shí)現(xiàn)
- springboot2版本無法加載靜態(tài)資源問題解決
- SpringBoot靜態(tài)資源目錄訪問
- SpringBoot如何通過webjars管理靜態(tài)資源文件夾
相關(guān)文章
springsecurity實(shí)現(xiàn)用戶登錄認(rèn)證快速使用示例代碼(前后端分離項(xiàng)目)
這篇文章主要介紹了springsecurity實(shí)現(xiàn)用戶登錄認(rèn)證快速使用示例代碼(前后端分離項(xiàng)目),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03
mybatis-plus的selectById(或者selectOne)在根據(jù)主鍵ID查詢實(shí)體對象的時(shí)候偶爾會(huì)出現(xiàn)nul
這篇文章主要介紹了mybatis-plus的selectById(或者selectOne)在根據(jù)主鍵ID查詢實(shí)體對象的時(shí)候偶爾會(huì)出現(xiàn)null的問題記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java之mybatis使用limit實(shí)現(xiàn)分頁案例講解
這篇文章主要介紹了Java之mybatis使用limit實(shí)現(xiàn)分頁案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Java Spring數(shù)據(jù)單元配置過程解析
這篇文章主要介紹了Java Spring數(shù)據(jù)單元配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
mybatis 批量將list數(shù)據(jù)插入到數(shù)據(jù)庫的實(shí)現(xiàn)
這篇文章主要介紹了mybatis 批量將list數(shù)據(jù)插入到數(shù)據(jù)庫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
java微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能
這篇文章主要為大家詳細(xì)介紹了PHP微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
JavaMail實(shí)現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了JavaMail實(shí)現(xiàn)發(fā)送郵件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

