利用前端缓存技术,大幅度降低微信小程序云开发的“调用次数”、成本、费用! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sdjl
V2EX    推广

利用前端缓存技术,大幅度降低微信小程序云开发的“调用次数”、成本、费用!

  •  
  •   sdjl 2024-09-27 12:43:46 +08:00 1164 次点击
    这是一个创建于 378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上一篇文章末尾添加了我个人作品,被判定为推广了,重新发一篇。

    云开发贵不贵要看业务情况

    如果提到微信云开发,大家都会说“云开发好贵”,我也觉得。

    不过我发现主要是贵在“调用次数”上,其他存储费用、CDN 费用和其他平台也差不多,如果其他平台更便宜,也可以在使用云开发的同时把文件存在其他平台。

    如果优化好“调用次数”的资源消耗,我觉得云开发的费用并不高。按照 0.5 元一万次的费用计算(买资源包最低能降到 0.25 元一万次),如果平均一个用户每日消耗 100 次(通常消耗不了那么多),那么在“调用次数”的成本上,大概是每个用户每天 0.5 分钱。如果能控制到一个用户每日 20 次调用次数,成本可以降低到每个用户每天 0.1 分钱。

    所以我个人觉得,严格控制好“调用次数”的消耗,是降低微信云开发成本的关键。因此我写了一个系列文章来讲解如何降低资源的消耗,此系列文章已经写到第五篇,其中一、二、三这 3 篇文章介绍了云数据库的操作函数,文章四和五则重点介绍了如何使用前端缓存来降低“调用次数”。

    简单来说就是通过前端Storage存储,实现以下功能:

    1. 写入数据时,仅写入实际变化的数据,可仅消耗 1 次“调用次数”写入多条数据。
    2. 读取数据时,从前端Storage缓存中读取,不消耗调用次数。
    3. 所有的读写数据库操作都很简单、高效、易用,代码简洁。

    代码样例

    // 用户配置改为使用大号字体 utils.setUserConfig(coll, 'page.big_font', true) // 记录用户最近提交的内容 utils.setUserConfig(coll, 'post.content', ‘用户输入的文字...’) // 把用户收藏的文章添加到收藏列表中(数组) utils.pushUserConfig(coll, 'favorite_articles', article_obj) // 取消用户收藏 utils.pluckUserConfig(coll, 'favorite_articles', article_obj) // 读取用户关于页面显示的配置值 const page_config_obj = await utils.getUserConfig(coll, 'page') // 读取多个配置值 const user_config_obj = await utils.getUserConfigObj(coll, { page: {}, // {} 是默认值 'post.content': 'default_value' }) // 把要写的数据先放入缓冲区(不会消耗调用次数) utils.setUserConfigBuffer(coll, 'page.big_font', true) utils.setUserConfigBuffer(coll, 'favorite_articles', []) // 清空收藏 utils.setUserConfigBuffer(coll, 'post.content', '这是用户最近提交的内容') // 一次性写入所有缓冲区数据(仅消耗 1 次调用次数) utils.flushUserConfigBuffer(coll) 

    上面代码样例中,coll 是写入数据库的表名。

    所有读取操作不消耗“调用次数”,且读取操作是瞬间完成的

    由于Storage是长期存储在用户手机上的,因此就算用户改天、下周、几个月后再次打开小程序,读取数据库操作也不会消耗“调用次数”

    utils 中还有很多有用的数据库操作函数,这里就不一一列举了。

    文章

    讲解以上函数的文章:《小白变大神五:大幅降低微信小程序云数据库的调用次数和成本费用》

    Gitbub 开源项目地址

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     923 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 22:15 PVG 06:15 LAX 15:15 JFK 18:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86