问题:
本文接上一次博客,云服务发布springboot项目踩过的坑
自从上次,一咬牙买了阿里云的服务器(虽然是白嫖的15天试用期)。
但是有一个问题一直困扰着我,如鲠在喉!
非常难受!
就是网页的加载速度,实在是太慢了!
硬生生的把我从5G时代,拉倒了3G时代!
可是我使用的是2M的宽带啊,速度不至于这样吧!
原因分析:
1、服务器原因——购买网速快的宽带
2、数据库查询慢——增加索引,一次查询少量数据
3、服务器传来的css,js,图片等文件没有被缓存,导致一次次重复的加载相同的文件
4、其他
发现原因:
这里着重解决第3种问题。
检查vue.js 里面的请求头,发现no-cache
然后,我百度了很久,终于找到了解决方案:
首先,新建一个类 WebConfigConfigurer,实现 WebMvcConfigurer接口
「此方法的作用就是,将resouces下的静态资源纳入到浏览器缓存之中」
package com.jch.quiz2.config;
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.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.concurrent.TimeUnit;
@Configuration
public class WebConfigConfigurer implements WebMvcConfigurer { // 推荐使用implements WebMvcConfigurer,这样不会覆盖其他的配置
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**") // 此处是url的路径
.addResourceLocations("classpath:/static/") // 这里是uri资源的路径,即静态资源路径
// .addResourceLocations("classpath:/static/pic/") // 这里可以配置专门的文件夹
.setCacheControl(CacheControl.maxAge(604800, TimeUnit.SECONDS).cachePublic());
}
}
效果:
添加配置类前
添加配置类后
可以看到,网页的响应速度快了100多ms!!
而且,在size一栏,可以看到memory cache,说明,已经加入了浏览器内存之中!
参考资料:
ps:这位大佬讲的非常清楚了!
Original: https://www.cnblogs.com/cjin-01/p/16666067.html
Author: 2337
Title: 解决云服务器响应慢,网页加载慢的问题
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/711263/
转载文章受原作者版权保护。转载请注明原作者出处!