codecamp

支付宝小程序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 备份。

扫码体验

缓存.jpeg

示例代码

// .js
my.clearStorage();

my.clearStorageSync

简介

my.clearStorageSync 是清除本地数据缓存的同步接口。

使用限制

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

扫码体验

缓存.jpeg

示例代码

// .js
my.clearStorageSync()

my.getStorage

简介

my.getStorage 是获取缓存数据的异步接口。

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

使用限制

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

扫码体验

缓存.jpeg

示例代码

//.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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

// .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 备份。

扫码体验

缓存.jpeg

示例代码

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

入参

Object 类型,属性如下:

属性 类型 必填 描述
key String 缓存数据的 key。
data Object/String 要缓存的数据。
支付宝小程序API音频播放
支付宝小程序API 文件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }