微信小程序学习之路——API数据缓存

数据缓存

每个小程序都可以由自己的本地缓存,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();

猜你喜欢

转载自blog.csdn.net/CSDN_XUWENHAO/article/details/89032807