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