精华内容
下载资源
问答
  • 主要介绍了微信小程序实现缓存根据不同的id来进行设置和读取缓存的相关资料,需要的朋友可以参考下
  • 微信小程序设置缓存过期时间

    千次阅读 2020-06-01 14:20:22
    if(this.judgeTime()){ //判断缓存是否过期,过期就重新添加一个 wx.setStorageSync('oldTime',this.oldTime()); } } judgeTime(){ //判断缓存是否过期 let nowTime = Date.now(); let oldTime = wx....
    setCache(){
    	if(this.judgeTime()){ //判断缓存是否过期,过期就重新添加一个
    	wx.setStorageSync('oldTime',this.oldTime());
    	}
    }
    judgeTime(){ //判断缓存是否过期
          let nowTime = Date.now();
          let oldTime = wx.getStorageSync('oldTime');
          if(oldTime && nowTime < oldTime){
           return false;
          }
          return true;
        }
     oldTime(){ //返回以现在为准的3天后的时间
          return Date.now() + 259200000; //毫秒(72小时)
        }
    	this.setCache();
    
    展开全文
  • 但是最近在处理微信小程序播放缓存到本地的音频文件的时候,遇到一些小问题,然后对于安卓和IOS需要采用不同的播放策略。 首先,如果哪怕用audio标签来播放在线的音频文件,假如服务端没有实现断点续传,IOS是无法...
  • 小程序官方API提供了设置缓存和读取缓存的api,不过都是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性...

    小程序官方API提供了设置缓存和读取缓存的api,不过都是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性,我们需要对部分缓存设置时效性,在它到期之后自动删除。

    一、关于缓存方法微信官方api如下

    1.异步缓存

    wx.setStorage(OBJECT)

    wx.getStorage(OBJECT)

    wx.getStorageInfo(OBJECT)

    wx.removeStorage(OBJECT)

    wx.clearStorage()

    2.同步缓存

    wx.setStorageSync(KEY,DATA)

    wx.getStorageSync(KEY)

    wx.getStorageInfoSync

    wx.clearStorageSync() …

    关于具体的使用方法请去看官方文档

    二、下面就是记录关于设置缓存时效性的方法,说到底也就是对这些缓存方法进行二次封装

    //设置时效缓存,time为有效时间,(单位:小时,不填则默认24小时)
    function setStorageSyncHour(key, value, time) {
      wx.setStorageSync(key, value)
      var t = time ? time : 24;
      var seconds = parseInt(t * 3600);
      if (seconds > 0) {
        var timestamp = Date.parse(new Date());
        timestamp = timestamp / 1000 + seconds;
        wx.setStorageSync(key + 'dtime', timestamp + "")
      } else {
        wx.removeStorageSync(key + 'dtime')
      }
    }
    
    //设置时效缓存,time为有效时间,(单位:秒,不填则默认3600s)
    function setStorageSyncSecond(key, value, time) {
      wx.setStorageSync(key, val)
      var t = time ? time : 3600;
      var seconds = parseInt(t);
      if (seconds > 0) {
        var timestamp = Date.parse(new Date());
        timestamp = timestamp / 1000 + seconds;
        wx.setStorageSync(k + 'dtime', timestamp + "")
      } else {
        wx.removeStorageSync(k + 'dtime')
      }
    }
    
    //读取缓存,若缓存不存在,返回def,def为可选参数,表示无缓存数据时返回值(支持字符串、json、数组、boolean等等)
    function getStorageSyncTime(key, def) {
      var deadtime = parseInt(wx.getStorageSync(key + 'dtime'))
      if (deadtime) {
        if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
          wx.removeStorageSync(key);
          wx.removeStorageSync(key + 'dtime');
          if (def) { return def; } else { return; }
        }
      }
      var res = wx.getStorageSync(key);
      if (res) {
        return res;
      } else if (def) {
        return def;
      } else {
        return;
      }
    }
    
    module.exports = {
      setStorageSyncHour: setStorageSyncHour,
      setStorageSyncSecond: setStorageSyncSecond,
      getStorageSyncTime: getStorageSyncTime
    }
    

    这里比较时间的方法就是使用parse方法。

    parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。就可以对时间进行比较

    展开全文
  • 1.wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB 2.localStorage 是永久存储 相应的...
  • 因公司发展需要,本人也踩进微信小程序的坑了,爬坑是一个艰辛的过程,现将遇到的部分问题记录一下。小程序官方API提供了wx.setStorageSync,不过是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都...

    因公司发展需要,本人也踩进微信小程序的坑了,爬坑是一个艰辛的过程,现将遇到的部分问题记录一下。

    小程序官方API提供了wx.setStorageSync,不过是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性,我们需要对部分缓存设置时效性,在他到期之后删除。相关代码如下:

     //设置时效缓存,time为有效时间,单位小时,默认24小时
    var postfix = '_deadtime';
    setStorageSync: function (k, v, time){
    wx.setStorageSync(k, v);
    var t=time?time:24;
    var seconds = parseInt(t * 3600);
    if (seconds > 0) {
    var timestamp = Date.parse(new Date());
    timestamp = timestamp / 1000 + seconds;
    wx.setStorageSync(k + postfix, timestamp + "")
    } else {
    wx.removeStorageSync(k + postfix)
    }
    },
    //读取缓存,若缓存不存在,返回def,若没有设置默认返回值,则返回undefined
    getStorageSync:function(k,def){
    var deadtime = parseInt(wx.getStorageSync(k + postfix))
    if (deadtime) {
    if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
    wx.removeStorageSync(k);
    wx.removeStorageSync(k + postfix);
    if (def) { return def; } else { return; }
    }
    }
    var res = wx.getStorageSync(k);
    if (res) {
    return res;
    } else if(def){
    return def;
    }else{
    return;
    }
    }
    



    展开全文
  • 小程序官方API提供了设置缓存和读取缓存的api,不过都是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性...

    前言

    小程序官方API提供了设置缓存和读取缓存的api,不过都是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性,我们需要对部分缓存设置时效性,在它到期之后自动删除。

    一、关于缓存方法微信官方api如下

    1.异步缓存

    wx.setStorage(OBJECT)
    
    wx.getStorage(OBJECT)
    
    wx.getStorageInfo(OBJECT)
    
    wx.removeStorage(OBJECT)
    
    wx.clearStorage()
    

    2.同步缓存

    wx.setStorageSync(KEY,DATA)
    
    wx.getStorageSync(KEY)
    
    wx.getStorageInfoSync()  // 获取当前storage中所有的存储的信息
    
    wx.clearStorageSync()
    

    关于具体的使用方法请去看 微信官方文档

    二、下面就是记录关于设置缓存时效性的方法,说到底也就是对这些缓存方法进行二次封装
    /**
     * 设置时效缓存
     * @param  {String} key    存储的key值
     * @param  {String} value  存储的value值 (不填则默认为1)
     * @param  {Number} time   有效时间,(单位:秒,不填则默认一天)
     */
    function setStorageSyncSecond(key, value, time) {
      value = value ? value : 1
      wx.setStorageSync(key, value)
      var t = time ? +time : 24 * 3600
      if (t > 0) {
        var timestamp = new Date().getTime()
        timestamp = timestamp / 1000 + t
        wx.setStorageSync(key + 'dtime', timestamp + "")
      } else {
        wx.removeStorageSync(k + 'dtime')
      }
    }
    
    /**
     * 读取时效缓存
     * @param   {String}  key  存储的key值
     * @return  {*} true为当前时间已失效、或者该值不存在,undefined默认返回则为当前时间未到失效时间
     */
    function getStorageSyncTime(key){
      var deadtime = +wx.getStorageSync(key + 'dtime')
      if (deadtime) {
        if (deadtime < (new Date().getTime()) / 1000) {
          wx.removeStorageSync(key)
          wx.removeStorageSync(key + 'dtime')
          return true
        }
      }else{
        return true
      }
    }
    
    展开全文
  • 微信小程序本地缓存数据增删改查实例详解 数据如: var user = { name: 'Lion', sex: 'guy' } CRUD: // 添加 wx.setStorageSync('user', user); // 查询 var developer = (wx.getStorageSync('user') || [])...
  • 微信小程序设置缓存,及取值

    千次阅读 2017-08-01 15:43:33
    在登录微信小程序的时候,很多时候我们需要用到很多的缓存处理 首先我们需要将值存储: wx.setStorageSync('token', token) 之后是取值 var tonken2 = wx.getStorageSync('token') 这样的话我们就可以直接把值...
  • 看到这个问题的时候,首先想到的是在响应头上加上cache-control,经过测试发现小程序并不支持网路请求缓存。搜索发现官方明确答复,小程序不支持网络请求缓存:wx.request不支持http缓存 既然官方不支持网络请求缓存...
  • 主要介绍了微信小程序实现写入缓存与读取缓存详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 微信小程序可以通过wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)对本地缓存进行设置、获取和清理。本地缓存最大为10MB。 wx.setStorage()——...
  • 本文给大家分享的是如何在微信小程序中播放缓存到本地的音频文件的方法,区分了IOS和安卓的不同策略,非常不错,推荐给大家
  • 微信小程序之数据缓存的实例详解 前言: 在H5之前,缓存一般都是用cookie,但是cookie的存储空间太小。于是,H5增加了新的缓存机制,即localstorage 和 sessionstorage,具体的介绍就不在多说。在微信小程序中,数据...
  • 主要介绍了微信小程序缓存过期时间的使用详情,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了微信小程序基于本地缓存实现点赞功能的方法,涉及微信小程序界面布局、事件响应及缓存操作等相关实现技巧,需要的朋友可以参考下
  • 主要介绍了微信小程序学习笔记之本地数据缓存功能,结合实例形式分析了微信小程序wx.setStorage、wx.getStorage以及wx.removeStorage、wx.clearStorage针对数据缓存的存取、删除等相关操作技巧,需要的朋友可以参考下
  • 微信小程序缓存框架,支持数组、json、字符串……支持设置缓存时间、支持缓存读取失败默认值。 一、公共方法 put(k, v, t) k为key,v为具体内容(支持字符串、json、数组、boolean等等),t为可选参数表示过期时间...
  • 目前,微信给每个小程序提供了10M的本地缓存空间 有了本地缓存,你的小程序可以做到: 离线应用(已测试在无网络的情况下,可以操作缓存数据) 流畅的用户体验 减少网络请求,节省服务器资源 哪些数据适合方缓存: 热...
  • 微信小程序缓存

    2020-04-08 19:02:25
    微信小程序缓存机制简单使用1. 设置缓存用法参数2. 获取缓存用法 首先这里仅记录学习微信小程序的简单使用,主要用于学习和巩固。 微信的缓存与web浏览器的localstorage有异曲同工之妙,是永久存储在浏览器或者...
  • 直接从项目里面拿出来的代码,附带了很多其他代码可供参考,都是亲测测试通过的。里面还附带了php后端代码文件。
  • 微信小程序开发--实现密码加密具体步骤: 在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) { var i, r = [], c, x; for (i = 0; i < s xss=removed>> 6 & 0x1F...
  • 微信小程序缓存设置

    万次阅读 2018-11-15 20:29:05
    微信小程序是没有数据库概念的,但是有缓存,如果不清空缓存数据,数据就一直在存在缓存中,那么怎么缓存数据呢?很简单? 后缀带sync是同步,这些方法都是成对出现的,remove...是清空缓存,get...是获取缓存 如果要...
  • 微信小程序的本地缓存跟H5的localStorage非常类似,是前端的数据库,以下用三种异步函数来实现本地缓存值的获取。 es5标准:通过回调函数获取 //设置缓存值 wx.setStorageSync('token', '123') //异步获取缓存 ...
  • 发现->小程序 找到相应小程序,长按删除就可以清除缓存了 如果有体验版、开发板,也应全部清除

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,766
精华内容 18,306
关键字:

微信小程序设置缓存

微信小程序 订阅