本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性
關于本地緩存
1.wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。本地緩存最大為10MB
2.localStorage 是永久存儲
相應的api----------
wx.setStorage(OBJECT)
wx.getStorage(OBJECT)
wx.getStorageInfo(OBJECT)
wx.removeStorage(OBJECT)
wx.setStorageSync(KEY,DATA)
wx.getStorageSync(KEY)
wx.getStorageInfoSync
wx.clearStorage()
wx.clearStorageSync() ...
Api的具體使用詳見官方文檔
注意:這里又一個問題就是這些緩存不清理會永久的緩存----------然而實際開發中,我們往往需要設置一些緩存的時效性
所以就需要對這些api進行封裝(二次開發)直接上代碼
設置緩存-----------put(key, val, time) time為可選參數表示有效時間(單位:秒)
function put(key, val, time) {
wx.setStorageSync(key, val)
var seconds = parseInt(time);
if (seconds > 0) {
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + seconds;
wx.setStorageSync(k + 'dtime', timestamp + "")
} else {
wx.removeStorageSync(k + 'dtime')
}
}
讀取緩存-----get(key, def)-------def為可選參數,表示無緩存數據時返回值(支持字符串、json、數組、boolean等等)
function get(key, def) {
var deadtime = parseInt(wx.getStorageSync(key+ 'dtime'))
if (deadtime) {
if (parseInt(deadtime) < Date.parse(new Date()) /1000) {
if (def) { return def; }else { return; }
}
}
var res = wx.getStorageSync(key);
if (res) {
return res;
} else {
return def;
}
}
以上所述是小編給大家介紹的微信小程序緩存時效性詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双电机三把锁!比亚迪F品牌“SF”谍照再
- 下一篇: 画箱线图_箱线图的N种画法