微信小程序数据存储长时间缓存数据,数据存储本地

安卓和小程序体验

小程序体验

安卓版本体验 安卓体验download

数据存储

使用场景

许多时候我们需要将用户的数据保存到本地,以便以后的调用。比如说openid,如果每次打开小程序都需要发送code到后台解析成出openid,对资源消耗还是比较大的。这个时候数据缓存就派上了用场。

两种数据缓存

1.wx.setStorageSync(string key, any data)

2.wx.setStorage(Object object)

两种都可以实现缓存数据,区别就在于同步和异步

以Sync(同步,同时)结尾的都是都是同步缓存,二者的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。
    通俗点说,异步就是不管保没保存成功,程序都会继续往下执行.同步是等保存成功了,才会执行下面的代码.
    使用异步,性能会更好;而使用同步,数据会更安全
    一般都使用同步,异步是为了用户体验的情况而选择,同步相对简单。

wx.setStorage(Object object)

将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。

参数

Object object

属性 类型 默认值 必填 说明
key string   本地缓存中指定的 key
data any   需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。
success function   接口调用成功的回调函数
fail function   接口调用失败的回调函数
complete function   接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

wx.setStorage({
  key:"key",
  data:"value"
})
try {
  wx.setStorageSync('key', 'value')
} catch (e) { }

wx.setStorageSync(string key, any data)

wx.setStorage 的同步版本

参数

string key

本地缓存中指定的 key

any data

需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。

示例代码

wx.setStorage({
  key:"key",
  data:"value"
})
try {
  wx.setStorageSync('key', 'value')
} catch (e) { }
发布了71 篇原创文章 · 获赞 291 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/lk888666/article/details/105474799