昨天简单介绍了网页静态化技术freemarker,但由于个人原因并未展示静态化技术在项目中的应用场景,今天就闲言少叙,开始正文。
以DR钻戒为例,当我们看到商品详情页面后。在点击红色区域选择商品规格时,传统做法仍需要访问数据库,因为每点击一次其他的规格就需要访问一次服务器。这种结构固定的场景就非常适合静态化技术,如果提前把这些需要频繁交互的数据,以json字符串的形式存在商品详情页面上。这样用户在之后的点击过程中就无需再次访问数据库。这种玩法的本质实际上和redis缓存技术一样,都是以空间换时间,提升用户体验和服务器性能。
另一个需要思考的点就是生成静态化页面的时机。在以上场景中,不能在用户访问详情页面的时候才生成,因为首先页面生成需要用到大量的查询方法,还要写磁盘IO,效率很慢。其次如果1万个用户去访问详情页面,那页面岂不是要生成1万次,这显然是不合理的。所以最合理的时机是在商品具备上架资格,也就是通过了平台的审核时生成静态页面,想明白这一点才算是真正入门。
模板生成静态页面在实现类中的代码
至此,freemarker在电商平台中的应用场景算是完结了。