什么是页面静态化?
静态化就是指把原本动态生成的html页面变为静态内容保存,用户客户端请求的时候,直接返回静态页面,不用再经过服务渲染,不用访问数据库,可以大大的减小数据库的压力,显著的提高性能。
页面静态化可以解决哪些问题?
在使用页面静态化之前,我们的页面都是通过动态渲染后返回给客户端的,在后台需要大量的查询,而后渲染得到html页面,对数据库的压力比较大,并且请求的响应时间也比较长,并发能力并不高。通常我们解决这样的问题都是缓存技术(如redis),把热点数据放入缓存中,但是也不是什么数据都要放入缓存的,比如商品的详情数据,如果商品很多,数据量很大的时候,占用的内存就比较大,此时会给缓存到来很大的压力。如果因为这个导致缓存崩溃,那么就可能直接导致数据库崩溃。
缓存不是万能的,所以我们在一些场景下就选择使用静态化来解决,比如,商品详情页、网站首页、新闻详情这些页面,我们就可以通过静态化,将静态化的页面保存在nginx服务器来部署。
如何实现静态化?
实现静态化页面通常都是通过模板引擎来生成的,常用的模板引擎有:
- FreeMarker
- Velocity
- Thymeleaf
页面静态化注意点
- 用户相关数据不能静态化
- 用户名、购物车,浏览记录等不能静态化
- 动态变化的数据不能静态化
- 热销排行、新品推荐、分页排序数据等等
不能静态化的数据处理
- 可以在用户得到页面后,在页面中向后端发送Ajax请求获取相关数据。
- 直接使用模板渲染出来。
- 其他