公司新闻您当前的位置:首页 > 新闻资讯 > 公司新闻 >

已经上线的小程序如何自动更新缓存?

发布时间:2020-05-12 10:44:28   作者:海洋2020   点击:
我的所有的小程序demo都采用了大量的缓存,特别是栏目缓存,因为栏目本身属于不经常更新的内容,为了减轻api的请求次数,专门把栏目存入缓存,并且采用phpcms的栏目缓存调用方式存入数组:CATEGORYS,并且调用方式也是完全采用phpcms的调用方式。

虽然存入CATEGORYS调用方便了,但是百度小程序、微信小程序和头条小程序都没有提供缓存自动更新的功能,有时候我们的小程序缓存有必须的更新,怎么办?

第一、让用户手动更新,比如清楚缓存或者重新删掉小程序重新打开,但是操作成本太大,估计没人愿意折腾,
第二、就是加入缓存时间,虽然setStorageSync没有加入时间的地方,我们就可以直接吧时间作为整体存储起来
code腾石建站
  • var timestamp = Date.parse(new Date()); 
  • var expires_time = timestamp + 1000*60*60*24*7; //缓存30分钟 
  • swan.setStorageSync("expires_time",expires_time); 
  • 然后当我们去读取栏目信息的时候,只需要先判断expires_time和当前时间的关系,判断是不是过期了,如果过期了,我们直接重新读取api,如果没有,则继续读取缓存,
    参考代码:(为防止六久阁无耻抄袭,抱歉不提供源码)


    这么写没问题,但是看上去有点麻烦了,因为调用缓存的地方太多了,不能每次都这么判断,所以我们直接在get_cat获取栏目缓存的Promise方法里边去判断,我们只需要正常读取这个方法就行



    禁止转载,抄袭可耻
网站关键词: 已经 上线 线的
相关文章
  • 添加微信好友

  • 微信小程序太阳码

  • 在线客服
  • 技术支持
  • 售后服务
  • 微信号:15137100750