数据缓存
每个小程序都可以由自己的本地缓存,local Storage是永久存储的,本地缓存最大为10MB,数据操作API分为同步和异步两种
数据保存
wx.setStorage(Object)
将数据存在本地缓存指定的key中,会覆盖掉原来该key对应的内容,这时一个异步接口,Object参数属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
data | any | 是 | 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify 序列化的对象。 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
wx.setStorage({
key: 'myKey',
data: 'myvalue',
});
wx.setStorageSync(KEY,DATA)
将数据存在本地缓存指定的key中,会覆盖掉原来该key对应的内容,这是一个同步接口,参数说明:
- key:本地缓存中指定的key
- data:需要存储的内容
示例代码如下:
wx.setStorageSync('myKey','myValue');
获取数据
wx.getStorage(Object)
从本地缓存中异步获取指定key对应的内容,Object参数属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
wx.getStorage({
key: 'myKey',
success: function(res) {
console.log(res.data);//打印处myKey对应的内容
},
});
wx.getStorageSync(KEY)
从本地缓存中同步获取指定key的对应内容,参数说明key:从本地缓存中的指定的key(必填)
示例代码如下:
var value = wx.getStorageSync('mykey');
console.log(value);
获取本地数据信息
wx.getStorageInfo(Object)
异步获取当前storage的相关信息,Object参数属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
wx.getStorageInfo({
success: function(res) {
var p;
for(p in res.keys){
console.log(p+':'+wx.getStorageSync(p));
}
},
});
wx.getStorageInfoSync()
同步获取当前storage的相关信息
示例代码如下:
var p,
info=wx.getStorageInfoSync();
for (p in info.keys){
console.log(p+':'+wx.getStorageSync(p));
}
删除数据
wx.removeStorage(Object)
根据key值异步删除本地数据,Object参数属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
wx.removeStorage({
key: 'mykey',
success: function(res) {
console.log(res.data);
},
});
wx.removeStorageSync(Key)
根据key值同步删除本地数据
示例代码如下:
wx.removeStorageSync('myKey');
清空数据
wx.clearStorage()
清理本地数据缓存
示例代码如下:
wx.clearStorage();
//不阻塞下面代码
doSomthing();
wx.clearStorageSync()
同步清理本地数据缓存
示例代码如下:
wx.clearStorageSync();
//不阻塞下面代码
doSomething();