缓存

更新时间:
复制 MD 格式

缓存的机制是根据 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 备份。