如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
sdjl
V2EX  ›  推广

微信云开发好贵啊,用这个降低小程序的“调用次数”和成本、费用吧!

  •  
  •   sdjl · Sep 27, 2024 · 1940 views
    This topic created in 684 days ago, the information mentioned may be changed or developed.

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

    不过我发现主要是贵在“调用次数”上,其他存储费用、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 开源项目地址

    给自己打个广告

    我目前专注微信小程序云开发,可接小程序定制开发外包项目,联系方式: [email protected]

    下面放两个我自己设计,用云开发写的微信小程序:

    绘图助手

    Midjourney 提示词生成器,另有 4000+原创模板。

    点点手指-定制合同

    通过简单回答问题,智能定制合同,下载 Word 打印。

    proxychains
        1
    proxychains  
       Sep 27, 2024
    @Livid 推广
    sdjl
        2
    sdjl  
    OP
       Sep 27, 2024
    @proxychains 不可以在文章里面推广自己的小程序吗? 不太了解规则,如果不可以我就删除吧。
    Livid
        3
    Livid  
    MOD
    PRO
       Sep 27, 2024
    @sdjl https://www.v2ex.com/help/node

    可以发,请发到 /go/promotions 节点。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1091 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:28 · PVG 02:28 · LAX 11:28 · JFK 14:28
    ♥ Do have faith in what you're doing.