博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot 缓存&资源优化
阅读量:6434 次
发布时间:2019-06-23

本文共 2804 字,大约阅读时间需要 9 分钟。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36367789/article/details/81711179

页面缓存

1. freemarker 的页面静态化

application.properties 配置实现浏览器缓存

# SPRING RESOURCES HANDLING ([ResourceProperties](https://github.com/spring-projects/spring-boot/tree/v1.5.4.RELEASE/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ResourceProperties.java))spring.resources.add-mappings=true # Enable default resource handling.spring.resources.cache-period= # Cache period for the resources served by the resource handler, in seconds.spring.resources.chain.cache=true # Enable caching in the Resource chain.spring.resources.chain.enabled= # Enable the Spring Resource Handling chain. Disabled by default unless at least one strategy has been enabled.spring.resources.chain.gzipped=false # Enable resolution of already gzipped resources.spring.resources.chain.html-application-cache=false # Enable HTML5 application cache manifest rewriting.spring.resources.chain.strategy.content.enabled=false # Enable the content Version Strategy.spring.resources.chain.strategy.content.paths=/** # Comma-separated list of patterns to apply to the Version Strategy.spring.resources.chain.strategy.fixed.enabled=false # Enable the fixed Version Strategy.spring.resources.chain.strategy.fixed.paths=/** # Comma-separated list of patterns to apply to the Version Strategy.spring.resources.chain.strategy.fixed.version= # Version string to use for the Version Strategy.spring.resources.static-locations=classpath:/static/

这段配置是用来启用资源缓存处理。

借鉴官方文档:

controller中实现页面静态化

/** * Created by Fant.J. */@RestControllerpublic class HelloController {
@Autowired private Configuration configuration; @GetMapping("/hello") public String demo(Map
map) { map.put("name", "demo"); freeMarkerContent(map,"hello"); return "hello"; } private void freeMarkerContent(Map
root,String ftl){ try { Template temp = configuration.getTemplate(ftl+".ftl"); //以classpath下面的static目录作为静态页面的存储目录,同时命名生成的静态html文件名称 String path=this.getClass().getResource("/").getPath()+"templates/"+ftl+".html"; Writer file = new FileWriter(path); temp.process(root, file); file.flush(); file.close(); } catch (Exception e) { e.printStackTrace(); } }}

2. thymeleaf 的页面静态化

核心代码的不同:

SpringWebContext ctx = new SpringWebContext(request,response,                request.getServletContext(),request.getLocale(), model.asMap(), applicationContext );        String html = thymeleafViewResolver.getTemplateEngine().process("hello", ctx);

对象缓存

利用Redis实现对象的缓存:

后面我会添加SpringBoot 对 Redis 的集成开发。

静态资源优化

1. JS/CSS压缩

取消空格。

2. 多个JS/CSS组合

打包成一个js/css,减少请求次数

3.CDN访问

js/css打包放到cdn上做提速

你可能感兴趣的文章
OutputCache说明
查看>>
sdl2.0示例
查看>>
数学 --- 高斯消元 POJ 1830
查看>>
Ejabberd源码解析前奏--集群
查看>>
[ZHUAN]Flask学习记录之Flask-SQLAlchemy
查看>>
【转】Install SmartGit via PPA in Ubuntu 13.10/13.04/12.04/Linux Mint
查看>>
PNG怎么转换成32位的BMP保持透明
查看>>
经验分享:CSS浮动(float,clear)通俗讲解
查看>>
WTL中最简单的实现窗口拖动的方法(转)
查看>>
数据结构—队列
查看>>
BZOJ4241 : 历史研究
查看>>
(LeetCode)两个队列来实现一个栈
查看>>
jquery封装常用方法
查看>>
什么是ICE (Internet Communications Engine)
查看>>
移动web开发之屏幕三要素
查看>>
求按小时统计的语句,该怎么处理
查看>>
TRUNCATE,DORP,DELETE
查看>>
Chrome的开发必备小技巧
查看>>
can-i-win(好)
查看>>
Centos6.5下安装protobuf及简单使用
查看>>