前言
小程序官方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()
关于具体的使用方法请去看 微信官方文档
二、下面就是记录关于设置缓存时效性的方法,说到底也就是对这些缓存方法进行二次封装
function setStorageSyncSecond(key, value, time) {value = value ? value : 1wx.setStorageSync(key, value)var t = time ? +time : 24 * 3600if (t > 0) {var timestamp = new Date().getTime()timestamp = timestamp / 1000 + twx.setStorageSync(key + 'dtime', timestamp + "")} else {wx.removeStorageSync(k + 'dtime')}
}
function getStorageSyncTime(key){var deadtime &#61; &#43;wx.getStorageSync(key &#43; &#39;dtime&#39;)if (deadtime) {if (deadtime < (new Date().getTime()) / 1000) {wx.removeStorageSync(key)wx.removeStorageSync(key &#43; &#39;dtime&#39;)return true}}else{return true}
}