关于微信云开发小程序的一些坑

腾系的抠门是出了名的,这云开发名义上是给开发者提供免费的服务器和数据库,实际上限制多多,坑不断,很多限制文档里要么不提,要么隐蔽得很深,等你发现,架构已经设计完,代码都码了七七八八,最终逼的你要么充钱,要么脱坑,绝不会允许你薅他家的羊毛。先总结一些坑,欢迎大家补充。

总体理念

云服务虽然是为了给你提供一个免费的后台,但其实这个后台处理能力很弱,它希望你能把大部分的运算都放到小程序前端,云服务后台只负责敏感小数据的运算,敏感数据库内容的操作,本着这个理念去设计架构,不要寄希望于云服务后台的运算能力。

1.云函数运算时间不得超过3秒

超过3秒未处理完成,直接返回错误。

2.云函数单次返回数据不得超过1M

超过1M直接报错

3.云函数读取数据库较慢

云函数 云数据库感觉应该在同一物理环境下,但其实并不是,应该处于不同的云端,因为读取100次数据就已经超过3秒了

4.云函数并发次数有限

这个文档里面配额写得很清楚,免费版并发数只有20次,这里的并发估计是每秒钟调用次数,因为确实很慢很慢,据我实践,每隔半秒调用一个云函数,调用100遍,还是报告调用次数超限。

5.云函数不适合做数据库的较大数量查询功能

鉴于上述4点功能,意味着不要在云函数进行较大的数据读取操作,只适合进行10条左右的敏感数据读取,如用户信息等。因为进行较大数据查询时,要么因为返回数据量过大被报错,要么因为访问数据时间过长被报错,也不要想着分几次从云函数从获取小数据再到前端组合,因为云函数并发数有限制,请把读数据库的操作交给前端直接读取,虽然这样不安全……

6.云函数云端测试功能超慢

建议在前端写一个js测试云函数功能,因为感觉云端测试功能慢十倍,网络不好有时还会报错……

7.云函数读取云数据库单次最多读取100条

超过100条需要使用 skip() ,分多次将数据组合起来

8.小程序前端读取云数据库单次最多读取20条

一样使用skip() ,需要注意的是,小程序前端不能使用 skip(0),会报错,所以在第0页时,取消skip()函数

你可能感兴趣的:(微信小程序)