每一个微信小程序均可以有本身的本地缓存,能够经过 wx.setStorage/wx.setStorageSync、wx.getStorage/wx.getStorageSync、wx.clearStorage/wx.clearStorageSync,wx.removeStorage/wx.removeStorageSync 对本地缓存进行读写和清理。html
同一个微信用户,同一个小程序 storage 上限为 10MB。storage 以用户维度隔离,同一台设备上,A 用户没法读取到 B 用户的数据。前端
注意: 若是用户储存空间不足,咱们会清空最近最久未使用的小程序的本地缓存。咱们不建议将关键信息所有存在 storage,以防储存空间不足或用户换设备的状况。小程序
wx.setStorage(Object object)
微信小程序
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。数据存储生命周期跟小程序自己一致,即除用户主动删除或超过必定时间被自动清理,不然数据都一直可用。单个 key 容许存储的最大数据长度为 1MB,全部数据存储上限为 10MB。缓存
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中指定的 key |
data | any | 是 | 须要存储的内容。只支持原生类型、Date、及可以经过JSON.stringify序列化的对象。 |
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.setStorage({
key: 'key', data: 'value' })
wx.setStorageSync(string key, any data)
: wx.setStorage
的同步版本微信
try { wx.setStorageSync('key', 'value') } catch (e) { }
wx.getStorage(Object object)
架构
从本地缓存中异步获取指定 key 的内容异步
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中指定的 key |
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.getStorage({
key: 'key', success(res) { console.log(res.data) } })
any wx.getStorageSync(string key)
: wx.getStorage 的同步版本
函数
try { const value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error }
wx.clearStorage(Object object)
post
清理本地数据缓存
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.clearStorage()
wx.clearStorageSync()
:wx.clearStorage
的同步版本
try { wx.clearStorageSync() } catch (e) { // Do something when catch error }
wx.removeStorage(Object object)
从本地缓存中移除指定 key
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中指定的 key |
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.removeStorage({
key: 'key', success(res) { console.log(res.data) } })
wx.removeStorageSync(string key)
: wx.removeStorage
的同步版本
try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }
----------------------------------------
小程序系列:
基础使用: component使用 、 wxs使用 、 节点操做 、 页面跳转 、 缓存
----------------------------------------