支付宝小程序API 缓存
缓存 API 概览
开启本地缓存数据,进行存储、获取和删除等控制。
单个小程序的缓存总上限为 10MB。
同步方法会阻塞当前任务,直到同步方法处理返回。异步方法不会阻塞当前任务。
操作 | 同步 | 异步 | 描述 |
---|---|---|---|
存储 | my.setStorageSync | my.setStorage | 数据存储在本地缓存中指定的 key 中的接口,会覆盖掉原来该 key 对应的数据。 |
读取 | my.getStorageSync | my.getStorage | 获取缓存数据的接口。 |
清除 | my.clearStorageSync | my.clearStorage | 清除本地数据缓存的接口。 |
删除 | my.removeStorageSync | my.removeStorage | 删除缓存数据的接口。 |
获取相关信息 | my.getStorageInfoSync | my.getStorageInfo | 获取当前 storage 的相关信息的接口。 |
my.clearStorage
简介
my.clearStorage 是清除本地数据缓存的异步接口。
清空内嵌 webview 的存储时不会同时清空当前小程序本身的存储数据。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.clearStorage();
my.clearStorageSync
简介
my.clearStorageSync 是清除本地数据缓存的同步接口。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.clearStorageSync()
my.getStorage
简介
my.getStorage 是获取缓存数据的异步接口。
支持内嵌 webview 内缓与小程序缓存隔离,获取内嵌 webview 指定 key 的缓存不会同时返回小程序相同 key下的缓存数据。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
//.js
my.getStorage({
key: 'currentCity',
success: function(res) {
my.alert({content: '获取成功:' + res.data.cityName});
},
fail: function(res){
my.alert({content: res.errorMessage});
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
success 回调函数
属性 | 类型 | 描述 |
---|---|---|
data | Object/String | key 对应的内容。 |
my.getStorageInfo
简介
my.getStorageInfo 是获取当前 storage 的相关信息的异步接口。
在内嵌 webview 内获取当前 storage 的相关信息,但不会获取到当前小程序 storage 的相关信息。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.getStorageInfo({
success: function(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
success 回调函数
属性 | 类型 | 描述 |
---|---|---|
keys | String Array | 当前 storage 中所有的 key。 |
currentSize | Number | 当前占用的空间大小, 单位为 KB。 |
limitSize | Number | 限制的空间大小,单位为 KB。 |
my.getStorageInfoSync
简介
my.getStorageInfoSync 是获取当前 storage 相关信息的同步接口。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
var res = my.getStorageInfoSync()
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
返回值
属性 | 类型 | 描述 |
---|---|---|
keys | String/Array | 当前 storage 中所有的 key。 |
currentSize | Number | 当前占用的空间大小, 单位为 KB。 |
limitSize | Number | 限制的空间大小,单位为 KB。 |
my.getStorageSync
简介
my.getStorageSync 是获取缓存数据的同步接口。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
let res = my.getStorageSync({ key: 'currentCity' });
my.alert({
content: JSON.stringify(res.data),
});
入参
String 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key |
返回值
属性 | 类型 | 描述 |
---|---|---|
data | Object/String | key 对应的内容 |
my.removeStorage
简介
my.removeStorage 是删除缓存数据的异步接口。
移除内嵌 webview 的存储数据时不会移除当前小程序的存储数据。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.removeStorage({
key: 'currentCity',
success: function(){
my.alert({content: '删除成功'});
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
my.removeStorageSync
简介
my.removeStorageSync 是删除缓存数据的同步接口。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效。
- 支付宝设置中心清除缓存不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.removeStorageSync({
key: 'currentCity',
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key。 |
my.setStorage
简介
my.setStorage 是将数据存储在本地缓存中指定的 key 中的异步接口,会覆盖掉原来该 key 对应的数据。
支持内嵌 webview 的存储与小程序存储隔离,内嵌 webview 中指定 key 存储数据不会覆盖小程序自身相同 key 对应的数据。
使用限制
- 单个 key 允许存储的最大数据大小为 200KB,所有数据存储上限为 10MB。
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回。
- 覆盖安装支付宝(不是先删除再安装)、支付宝设置中心清除缓存、关闭小程序,这三种操作均不会导致小程序缓存失效。
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离。
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.setStorage({
key: 'currentCity',
data: {
cityName: '杭州',
adCode: '330100',
spell: ' hangzhou',
},
success: function() {
my.alert({content: '写入成功'});
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key。 |
data | Object/String | 是 | 要缓存的数据。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
my.setStorageSync
简介
my.setStorageSync 是将数据存储在本地缓存中指定的 key 中的同步接口。
使用限制
- 缓存数据本地加密存储,通过 API 读取时会自动解密返回;
- 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效;
- 支付宝设置中心清除缓存不会导致小程序缓存失效;
- 小程序缓存默认具有支付宝账号和小程序 ID 两级隔离;
- iOS 客户端支持 iTunes 备份。
扫码体验
示例代码
// .js
my.setStorageSync({
key: 'currentCity',
data: {
cityName: '杭州',
adCode: '330100',
spell: ' hangzhou',
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
key | String | 是 | 缓存数据的 key。 |
data | Object/String | 是 | 要缓存的数据。 |