全部产品
云市场

缓存

更新时间:2019-09-09 15:12:14

my.setStorage

将数据存储在本地缓存中指定的 key 中,会覆盖原来该 key 对应的数据。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是异步接口。
  • 支持内嵌 webview 的存储与小程序存储隔离,内嵌 webview 中指定 key 存储数据不会覆盖小程序自身相同 key 对应的数据。

入参

名称 类型 必填 描述
key String 缓存数据的 key
data Object/String 要缓存的数据
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

代码示例

  1. my.setStorage({
  2. key: 'currentCity',
  3. data: {
  4. cityName: '杭州',
  5. adCode: '330100',
  6. spell: ' hangzhou',
  7. },
  8. success: function() {
  9. my.alert({content: '写入成功'});
  10. }
  11. });
说明:单条数据转换成字符串后,字符串长度最大200*1024。同一个客户端用户,同一个小程序缓存总上限为10 MB。

my.setStorageSync

同步将数据存储在本地缓存中指定的 key 中。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是同步接口。

入参

名称 类型 必填 描述
key String 缓存数据的 key
data Object/String 要缓存的数据

代码示例

  1. my.setStorageSync({
  2. key: 'currentCity',
  3. data: {
  4. cityName: '杭州',
  5. adCode: '330100',
  6. spell: ' hangzhou',
  7. }
  8. });

my.getStorage

获取缓存数据。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是异步接口。
  • 支持内嵌 webview 内缓与小程序缓存隔离,获取内嵌 webview 指定 key 的缓存不会同时返回小程序相同 key 下的缓存数据。

入参

名称 类型 必填 描述
key String 缓存数据的 key
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称 类型 说明
data Object/String key 对应的内容

代码示例

  1. my.getStorage({
  2. key: 'currentCity',
  3. success: function(res) {
  4. my.alert({content: '获取成功:' + res.data.cityName});
  5. },
  6. fail: function(res){
  7. my.alert({content: res.errorMessage});
  8. }
  9. });

my.getStorageSync

同步获取缓存数据。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是同步接口。

入参

名称 类型 必填 描述
key String 缓存数据的 key

返回值

名称 类型 说明
data Object/String key 对应的内容

代码示例

  1. let res = my.getStorageSync({ key: 'currentCity' });
  2. my.alert({
  3. content: JSON.stringify(res.data),
  4. });

my.removeStorage

删除缓存数据。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是异步接口。
  • 移除内嵌 webview 的存储数据时不会移除当前小程序的存储数据。

入参

名称 类型 必填 描述
key String 缓存数据的 key
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

代码示例

  1. my.removeStorage({
  2. key: 'currentCity',
  3. success: function(){
  4. my.alert({content: '删除成功'});
  5. }
  6. });

my.removeStorageSync

删除缓存数据。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是同步接口。

入参

名称 类型 必填 描述
key String 缓存数据的 key

代码示例

  1. my.removeStorageSync({
  2. key: 'currentCity',
  3. });

my.clearStorage

清除本地数据缓存。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是异步接口。
  • 清空内嵌 webview 的存储时不会同时清空当前小程序本身的存储数据。

代码示例

  1. my.clearStorage()

my.clearStorageSync

清除本地数据缓存。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是同步接口。

代码示例

  1. my.clearStorageSync()

my.getStorageInfo

异步获取当前 storage 的相关信息。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是异步接口。
  • 在内嵌 webview 内获取当前 storage 的相关信息不会获取到当前小程序 storage 的相关信息。

入参

名称 类型 必填 描述
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称 类型 说明
keys String Array 当前 storage 中所有的 key
currentSize Number 当前占用的空间大小, 单位为 KB
limitSize Number 限制的空间大小,单位为 KB

代码示例

  1. my.getStorageInfo({
  2. success: function(res) {
  3. console.log(res.keys)
  4. console.log(res.currentSize)
  5. console.log(res.limitSize)
  6. }
  7. })

my.getStorageInfoSync

同步获取当前 storage 的相关信息。

说明
  • mPaaS 10.1.32 及以上版本支持该接口。
  • 这是同步接口。

返回值

名称 类型 说明
keys String Array 当前 storage 中所有的 key
currentSize Number 当前占用的空间大小, 单位为 KB
limitSize Number 限制的空间大小,单位为 KB

代码示例

  1. var res = my.getStorageInfoSync()
  2. console.log(res.keys)
  3. console.log(res.currentSize)
  4. console.log(res.limitSize)

Tips

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
  • 覆盖安装应用(不是先删除再安装),不会导致小程序缓存失效。
  • 应用设置中心清除缓存不会导致小程序缓存失效。
  • 小程序缓存默认具有应用账号和小程序 ID 两级隔离。
  • iOS 客户端支持 iTunes 备份。