微信小程序开发-云开发降低资源调用次数

news/2024/7/20 3:11:22 标签: 微信小程序, 小程序, javascript

问题

小程序>微信小程序云开发是很方便,减少了后端的大量工作,但是!

流量主的一点广告费,一不小心就全被腾讯薅走了!当然一种办法就是使用云服务器自建后端,也要付费,没有对比过,不知道各种成本加起来是否比云开发便宜?有大神请指教!

在这里插入图片描述
另外一种办法就是尽量减少不必要的函数调用,也许就是我们自己开发时,为了小程序的完美展现,进行了大量即时调用,当用户数量少时还无所谓,当用户数量增大后,调用次数一天几十万的增加。每万次0.5元,一天的广告费才30几元,资源付费就用了170万*0.5=85元,入不敷出啊,必须优化函数调用。

解决问题

一、 使用globalData全局数据类型

跨页面存取数据,不要不同页面都去请求获取云数据,但重启小程序后会消失。

二、使用wx.getStorage本地缓存

既可跨页面存取数据,重启小程序后也不会消失,比如存放用户信息,不用每次打开小程序都要访问云数据,我之前就是每次重启小程序就访问云数据库获取用户信息,浪费了不少调用次数。

三、降低数据刷新类函数的刷新频次

这里与小程序自带的周期性调用函数功能不一样,就是用户不需要固定周期刷新数据,而是用户打开该页面时,若超过我们自定义的冷却时间时,数据才会刷新,否则不刷新,不再次调用云数据。用户不点击该页面,也不会自动刷新数据。

使用wx.setStorage存储打开该页面的首次时间,下次打开该页面时用当时的时间和这个时间对比做对比。

javascript">    wx.setStorage({
      key: "beginTime_myteam",
      data: new Date(),
    })

若间隔时间大于10分钟,则调用云数据,重新设置beginTime。否则不执行。

javascript">wx.getStorage({
        key: 'beginTime_myteam',
        success(res) {
          console.log('myteam页beginTime:', res.data)
          let beforTime = res.data
          let nowTime = new Date()
          console.log('myteam页nowTime:', nowTime)
          let interval = nowTime - beforTime
          console.log('myteam页时间差:', interval)
          if (interval > 600000) { //间隔600秒
            that.call_searchMyTeam()
            wx.setStorage({
              key: "beginTime_myteam",
              data: new Date(),
            })
          }
        }
      })
    }

进行以上优化后,云资源的调用次数,大大减少了,节省的都是Money。

点击下面链接,可以下载上述完整代码:
降低小程序数据刷新类函数的刷新频次javaScript代码


http://www.niftyadmin.cn/n/211392.html

相关文章

C++动态规划入门

C动态规划入门 笔记1 来自算法笔记-胡凡 1.1 斐波那契数列 了解动态规划的递归式写法即记忆化搜索这个名词。利用新开辟的数组记录子问题的解,就达到了记忆化的效果。 从斐波那契数列的递归图中可以看到重叠子问题被计算多次。动态规划真是通过记录重叠子问题的…

二、docker安装

1、docker版本简介 随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 CE(Community Edition) 和 EE(Enterprise Edition)。我们…

《Unity Shader 入门精要》第9章 更复杂的光照

第9章 更复杂的光照 9.1 Unity 的渲染路径 在 Unity 中,渲染路径(Rendering Path)决定了光照是如何应用到 Unity Shader 中的。 Unity 支持以下几种渲染路径: 前向渲染路径(Forward Rendering Path)延迟…

【学习集合--Map集合】

学习内容: Map集合概述红黑树 Map集合的实现TreeMapMap集合实现HashMap 学习产出: 1,Map集合概述 Map属于JCF的范围,但是Map的顶级接口java.util.Map并没有继承Collection。Map集合属于映射式结构,key-value&#xf…

docker 常用软件模板记录

mysql docker run –name some-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 -v /root/data:/var/lib/mysql mysql:5.6 --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci1:–name some-mysql:该容器启动后的名字:&#xff…

eclipse下载与安装(汉化教程)超详细

一、下载eclipse安装包 首先进入 eclipse官网 如下: 这里面有很多版本;我们小白一般选择第二个,向下滑动; 点击符合自己系统的版本。 这里我们切换镜像下载,一般选择离你最近的地址下载。 我建议选择大连东软信息学…

V8引擎执行原理

v8是C编写的Google开源高性能JavaScript和WebAssembly引擎,它用于Chrome和Node.js等。 它实现ECMAScript和WebAssembly。 v8可独立运行,也可嵌入到任何C应用程序中。 parse模块 parse模块会将JavaScript代码转换成AST(抽象语法树),因为解…

二叉搜索树和AVL树

目录 一、二叉搜索树 1.什么是二叉搜索树 2.二叉搜索树的实现 (1)构建类 (2)查找函数 (3)插入函数 (4)删除函数 (5)补齐默认成员函数 (6…