【小程序】缓存

缓存

每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage/wx.setStorageSync、wx.getStorage/wx.getStorageSync、wx.clearStorage/wx.clearStorageSync,wx.removeStorage/wx.removeStorageSync 对本地缓存进行读写和清理。

同一个微信用户,同一个小程序 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)

清理本地数据缓存

属性类型必填说明
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使用 、 节点操作 、 页面跳转 、 缓存

  前端架构浅谈

----------------------------------------

原文地址:https://www.cnblogs.com/lilicat/p/10782028.html