小程序
小游戏
企业微信
微信支付
扫描小程序码分享
请问,小程序 wx.setStorageSync 缓存的数据是永久缓存吗?
如果不是永久缓存,那缓存的时间是多久?
比如缓存几个简单但重要的的数据、字段。
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这些缓存不清理会永久的缓存
设置缓存-----------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;
return def;
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢你的解答。还想问一下,“超过一定时间被自动清理”是多长时间?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这些缓存不清理会永久的缓存
设置缓存-----------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;
}
}
谢谢你的解答。还想问一下,“超过一定时间被自动清理”是多长时间?