缓存的机制是根据 appId 和 userId 进行本地缓存,因此在使用缓存前需要使用 MPLogger.setUserId(String userId); 方法设置白名单 ID。

my.setStorage

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

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是异步接口。

  • 支持内嵌 webview 的存储与小程序存储隔离,内嵌 webview 中指定 key 存储数据不会覆盖小程序自身相同 key 对应的数据。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

data

Object/String

要缓存的数据

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

complete

Function

调用结束的回调函数(调用成功、失败都会执行)

代码示例

my.setStorage({
  key: 'currentCity',
  data: {
    cityName: '杭州',
    adCode: '330100',
    spell: ' hangzhou',
  },
  success: function() {
    my.alert({content: '写入成功'});
  }
});
说明

单条数据转换成字符串后,字符串长度最大 200*1024。同一个客户端用户,同一个小程序缓存总上限为 10 MB。

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.setStorageSync

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

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是同步接口。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

data

Object/String

要缓存的数据

代码示例

my.setStorageSync({
  key: 'currentCity',
  data: {
    cityName: '杭州',
    adCode: '330100',
    spell: ' hangzhou',
  }
});

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.getStorage

获取缓存数据。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是异步接口。

  • 支持内嵌 webview 内缓与小程序缓存隔离,获取内嵌 webview 指定 key 的缓存不会同时返回小程序相同 key 下的缓存数据。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

complete

Function

调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称

类型

说明

data

Object/String

key 对应的内容

代码示例

my.getStorage({
  key: 'currentCity',
  success: function(res) {
    my.alert({content: '获取成功:' + res.data.cityName});
  },
  fail: function(res){
    my.alert({content: res.errorMessage});
  }
});

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.getStorageSync

同步获取缓存数据。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是同步接口。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

返回值

名称

类型

说明

data

Object/String

key 对应的内容

代码示例

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

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.removeStorage

删除缓存数据。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是异步接口。

  • 移除内嵌 webview 的存储数据时不会移除当前小程序的存储数据。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

complete

Function

调用结束的回调函数(调用成功、失败都会执行)

代码示例

my.removeStorage({
  key: 'currentCity',
  success: function(){
    my.alert({content: '删除成功'});
  }
});

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.removeStorageSync

删除缓存数据。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是同步接口。

入参

名称

类型

必填

描述

key

String

缓存数据的 key

代码示例

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

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.clearStorage

清除本地数据缓存。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是异步接口。

  • 清空内嵌 webview 的存储时不会同时清空当前小程序本身的存储数据。

代码示例

my.clearStorage()

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.clearStorageSync

清除本地数据缓存。

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是同步接口。

代码示例

my.clearStorageSync()

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.getStorageInfo

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

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是异步接口。

  • 在内嵌 webview 内获取当前 storage 的相关信息不会获取到当前小程序 storage 的相关信息。

入参

名称

类型

必填

描述

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

complete

Function

调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称

类型

说明

keys

StringArray

当前 storage 中所有的 key

currentSize

Number

当前占用的空间大小, 单位为 KB

limitSize

Number

限制的空间大小,单位为 KB

代码示例

my.getStorageInfo({
  success: function(res) {
    console.log(res.keys)
    console.log(res.currentSize)
    console.log(res.limitSize)
  }
})

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • iOS 客户端支持 iTunes 备份。

my.getStorageInfoSync

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

说明

  • mPaaS 10.1.32 及以上版本支持该接口。

  • 这是同步接口。

返回值

名称

类型

说明

keys

StringArray

当前 storage 中所有的 key

currentSize

Number

当前占用的空间大小, 单位为 KB

limitSize

Number

限制的空间大小,单位为 KB

代码示例

var res = my.getStorageInfoSync()
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)

其他信息

  • 缓存数据本地加密存储,通过 API 读取时会自动解密返回。

  • 覆盖安装应用(不是先删除再安装),不会导致小程序缓存失效。

  • 应用设置中心清除缓存不会导致小程序缓存失效。

  • 小程序缓存默认具有应用账号和小程序 ID 两级隔离。

  • iOS 客户端支持 iTunes 备份。