1 合理设计数据库结构,减少读写次数
显示商品详情页时,要尽可能仅读取一次数据库,这就要求设计数据库时,把商品基本信息、商品图片、用户评论等都放在同个数据文档中
2 一次性读取较多数据
当显示一个列表页时,尽可能一次性读取1000条数据,然后分多次显示给用户
3 使用本地缓存
当用户首次进入商品列表页时,将商品列表数据缓存到本地,这样用户从商品详情页回到列表页时,就不需要再次读取数据库。可以在读取列表数据时,把详情页数据也一并读取,这样用户进入详情页时,就不需要再次读取数据库(单次读取数据的总大小有限制,以后详细介绍)
4 使用webp格式的图片
webp格式的图片比png、jpg小很多,这样可以减少网络流量的无效消耗
5 降低云函数的内存配置
云函数是按照“内存配置x运行时间”计算的,目前默认是256M,最可以手动降到128M
6 云函数中,用Promise.all并发执行,减少云函数的运行时间
有10个文件要下载,你可以使用Promise.all并发下载
7 把文件放在“静态存储”中
动态存储存储费用是静态存储的20倍
8 宁可存储冗余数据,减少数据库的“调用次数
商品的用户评论,可以把用户的头像、昵称和评论内容都存储在商品文档中,而不是存用户id,然后再用id去用户表中读取用户的头像、昵称
9 能不update的就不要update
如果用户修改了头像和昵称,商品评论中的头像和昵称不更新也可以。这不仅仅是为了减少“调用次数”,类似能不写的代码就不写是可以的
10 避免无效的重复计算
一个云函数会消耗10次“调用次数”,不同的用户调用该云函数时,返回的结果是一样的,可把结果缓存到数据库中,下次直接读取缓存结果