重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
小編給大家分享一下Springboot設(shè)置靜態(tài)資源緩存一年的方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站制作、網(wǎng)站設(shè)計的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)絡(luò)公司,創(chuàng)新互聯(lián)依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣及網(wǎng)站設(shè)計開發(fā)服務(wù)!
由于本人所在項目組,所用的項目是前后端分離的,前端是React 的SPA,每次打包都會新版本的靜態(tài)文件。
然而,在有些時候,這些靜態(tài)資源是不變的,故可以將資源緩存至用戶本地,提升性能。
寫法如下,需要繼承WebMvcConfigurerAdapter類,并重寫addResourceHandlers方法。就可以告訴瀏覽器強制緩存
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 { /** *設(shè)置靜態(tài)資源緩存時間:1年
*注意:不可緩存入口文件
* @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ù)某位大佬說,大家可以強制設(shè)置靜態(tài)資源緩存一年,但一定不要緩存入口文件,大家可以試試改造自己的項目。
如果設(shè)置成功,會有下面的效果,from disk cache,一般情況是from memory cache
大家還可以注意下cache-control這個值,當然這個值是以秒為單位的。
看完了這篇文章,相信你對“Springboot設(shè)置靜態(tài)資源緩存一年的方法”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!