详解微信小程序缓存--缓存时效性

网友投稿 359 2023-11-14

关于本地缓存

详解微信小程序缓存--缓存时效性

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为可选参数表示有效时间(单位:秒)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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等等)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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;
}
}

以上所述是小编给大家介绍的微信小程序缓存时效性详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:有什么靠谱的app开发平台可以选择?
下一篇:导购类app开发都有哪些功能?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~