开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
缓存
预拉取
文件
位置
网络
设备
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 缓存 > my.setstoragesync
评论
收藏
我的文档
设置

my.setstoragesync(object object)

支小宝客户端 支持

安诊儿客户端 支持

小程序开发者工具: 支持。

主体: 企业支付宝小程序个人支付宝小程序

同步保存数据到本地缓存。

该 key 原来对应的内容会被覆盖。单个 key 允许存储的最大数据长度为 200kb,所有数据存储上限为 10mb。
缓存数据在小程序退出/重新进入以后仍然存在,除非因存储空间原因被系统清理,或者小程序被用户主动删除。

object object

查看示例

属性 类型 默认值 必填 描述
data unknown -

需要存储的内容。可以是任意类型

key string -

本地缓存中指定的 key。不接受空字符串

object

参数

object res

属性 类型 描述
success boolean

是否存储成功。

error number

错误码。错误码只会在出现错误时返回。

errormessage string

错误信息。错误码只会在出现错误时返回。

fail 回调的参数为 object,error 属性为错误码,errormessage 属性为错误消息。

错误码 错误消息 凯发app官方网站的解决方案
2 必填参数为空。

请确保入参 key 或 data 类型正确且不为空。

12 存储总大小达到上限。

单个小程序数据存储上限为 10mb。可以通过 my.removestoragemy.removestoragesync 及时移除不必要的存储。

14 data长度超限。

单个 key 允许存储的最大数据大小为 200kb,可以减少 data 长度或拆分成多个 key 进行存储

代码示例
扫码体验
js 代码
let res = my.setstoragesync({
  key: 'currentcity',
  data: {
    cityname: '杭州',
    adcode: '330100',
    spell: ' hangzhou',
  },
});
console.log(res);
if (res.success) {
  console.log("执行成功");
}
  • tip
    当发生错误时,安卓会在返回结果中包含一个 success 属性并将其设置为 false,同时返回错误码和错误信息。而 ide 和 ios 则直接返回错误码和错误信息,不再返回 success 属性。建议利用 res.success 或 !res.error 判断功能是否执行成功。
  • tip
    同步方法 my.setstoragesync 会阻塞当前任务,直到同步方法处理返回。异步方法 my.setstorage 不会阻塞当前任务。
  • tip
    ios 客户端支持 itunes 备份。

q:缓存 api 存储的缓存什么情况下会被清除?

a:

卸载支付宝客户端会清除缓存数据;长期未使用或在应用中心删除的小程序的缓存数据也会被系统清理。覆盖安装支付宝(不是先删除再安装)、支付宝设置中心清除缓存、关闭小程序,这三种操作不会导致小程序缓存失效。

q:如何主动清除缓存?

a:

可以通过 my.clearstoragemy.clearstoragesync 清除当前小程序下的本地数据缓存, 通过 my.removestoragemy.removestoragesync 移除指定 key 的本地缓存。

q:插件和小程序的存储是否互通?

a:

插件和小程序的缓存存储不通用,独立隔离。

q:小程序缓存到达 10mb 后会清除之前的数据再写入还是写入报错?

a:

当超过 10mb 会无法继续写入,并提示:error 12,data 长度超限。可以通过 my.removestorage 或 my.removestoragesync 及时移除不必要的存储。

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图