每个微信小程序都可以有自己的本地缓存,可以通过wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。同一个微信用户,同一个小程序 storage 上限为 10MB。localStorage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。

注意: localStorage是永久存储的,但是我们不建议将关键信息全部存在localStorage,以防用户换设备的情况。

wx.setStorage(OBJECT)


将数据存储在本地缓存中指定的key中,会覆盖掉原来该key对应的内容,这是一个异步接口。

OBJECT参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的 key
data Object/String 需要存储的内容
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

wx.setStorage({key:"key"data:"value"
})

wx.setStorageSync(KEY,DATA)


​将data存储在本地缓存中指定的key中,会覆盖掉原来该key对应的内容,这是一个同步接口。

参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的key
data Object/String 需要存储的内容

示例代码

try {wx.setStorageSync("key","value")
} catch (e) {
}

wx.getStorage(OBJECT)


从本地缓存中异步获取指定key对应的内容。

OBJECT参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的 key
success Function 接口调用的回调函数,res = {data: key对应的内容}
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
data String key对应的内容

示例代码:

wx.getStorage({key:'key',success: function(res){console.log(res.data)}
})

wx.getStorageSync(KEY)


​从本地缓存中同步获取指定key对应的内容。

参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的key

示例代码:

try {var value = wx.getStorageSync('key')if (value) {// Do something with return value}
} catch (e) {// Do something when catch error
}

wx.getStorageInfo(OBJECT)

异步获取当前storage的相关信息

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用的回调函数,详见返回参数说明
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
keys String Array 当前storage中所有的key
currentSize Number 当前占用的空间大小, 单位kb
limitSize Number 限制的空间大小,单位kb

示例代码:

wx.getStorageInfo({success: function(res) {console.log(res.keys)console.log(res.currentSize)console.log(res.limitSize)}
})

wx.getStorageInfoSync

同步获取当前storage的相关信息

示例代码:

try {var res = wx.getStorageInfoSync()console.log(res.keys)console.log(res.currentSize)console.log(res.limitSize)
} catch (e) {// Do something when catch error
}

wx.removeStorage(OBJECT)

从本地缓存中异步移除指定 key 。

OBJECT参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的 key
success Function 接口调用的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.removeStorage({key: 'key',success: function(res) {console.log(res.data)}
})

wx.removeStorageSync(KEY)

从本地缓存中同步移除指定 key 。

参数说明:

参数 类型 必填 说明
key String 本地缓存中的指定的 key

示例代码:

try {wx.removeStorageSync('key')
} catch (e) {// Do something when catch error
}

wx.clearStorage()


​清理本地数据缓存。

示例代码:

wx.clearStorage()

wx.clearStorageSync()


同步清理本地数据缓存

示例代码:

try {wx.clearStorageSync()
} catch(e) {// Do something when catch error
}

Bug & Tip

  1. tip: 本地数据存储的大小限制为 10MB

微信小程序API 数据缓存相关推荐

  1. 微信小程序开发数据缓存基础知识辨析以及运用实例

    微信小程序开发数据缓存基础知识辨析以及运用实例 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的 ...

  2. 微信小程序的数据缓存

    当我们做 微信小程序开发的时候,我们经常要与后台打交道,做一些数据缓存的工作 用到的方法为 wx.setStorage wx.getStorage wx.clearStorage 第一步:存储数据 首 ...

  3. 微信小程序:数据存储、传值、取值

    小程序界面传值 父级界面:A界面 子级界面:B界面 一.url传值 详细的配置参数可以查看组件导航:navigator,这里不再做过多的解释. 1. 正向传值:A界面 –>B界面 用 navig ...

  4. 微信小程序 api 缓存方案

    微信小程序 api 缓存方案 背景 前言 缓存方案(更新策略) 缓存那些接口 Storage 缓存工具类 ApiCache 类实现 配置 封装 request 请求 总结 背景 为了应对用户流量大,减 ...

  5. 微信小程序api调起微信提供的功能-网络、媒体、文件、数据存储、位置、设备、界面、开发接口

    微信小程序-API 框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等. 说明: wx.on 开头的 API 是监听某个事件发生的API接口,接受一个 C ...

  6. 微信php签名验证_微信小程序API 用户数据的签名验证和加解密

    微信小程序API 用户数据的签名验证和加解密 用户数据的签名验证和加解密 数据签名校验 为了确保 开放接口 返回用户数据的安全性,微信会对明文数据进行签名.开发者可以根据业务需要对数据包进行签名校验, ...

  7. 《微信小程序》 数据访问实例详解

    如图所示 1.每个视图(.wxml)只需要添加对应名字的脚本(.js)和样式(.wxss)就可以了,不需要引用,page下面的脚本以及样式都是继承至最外面的app.js , app.wxcss 2.脚 ...

  8. 微信小程序api概述

    微信小程序api概述 1.api 1.1 网络api 1.2 缓存api 1.3 界面api 2 开放能力-获取用户信息 2.1 通过API获取用户信息 3 图片与文件 3.1 下载图片 3.2 上传 ...

  9. 小程序 长按api_微信小程序API相关知识科普

    微信小程序API(Application Programming Interface),即应用程序编程接口.API是一种接口函数,把函数封装起来,给开发者,这样好多的功能就不需要你去实现了,只要会调用 ...

最新文章

  1. python array赋值_从踩坑学Python内部原理(5):执行时机的差异
  2. c语言接受socket发送尾部有乱码,C语言socket编程,服务器和一个客户端连接时,服务器能正常收到信息,2个以上就出现BUG了...
  3. 各类排序算法实现(亲测)
  4. USACO 1.5.4 Checker Challenge
  5. IDEA设置虚拟路径 - 解决前端展示本地磁盘图片问题
  6. java se开发_JAVA_SE基础——3.Java程序的开发流程
  7. pycharm自定义代码片段
  8. autosar网络管理_Autosar 软件框架
  9. 图像调优1:清晰度相关参数MTF,SFR,MTF50,MTF50P 以及TVL的概念以及换算说明
  10. SqlServer彻底卸载,适用于任何版本,亲测了n次都可用
  11. Springboot中使用Junit5(Jupiter)和Mockito
  12. 抖音api开放平台对接_抖音开放一键发布功能 第三方内容可分享至抖音
  13. Unity官网注册账号绑定手机国籍更改失败
  14. JS基础----函数应用 案例
  15. ubuntu20.04安装百度网盘
  16. IllegalReferenceCountException: refCnt: 0, decrement: 1
  17. 单片机两大延时方法总结
  18. 计算机培训黑板报,电子板报的教学计划
  19. ElementUI+VUE获取验证码前端代码
  20. Java多态的概念、优点和用法

热门文章

  1. html六边形布局,CSS3-纯CSS响应式六边形网格布局
  2. 平台币逐鹿中原,谁更有潜力?
  3. HTML5 dragdrop基础用法
  4. 山西台达plc可编程控制器_S7-200西门子PLC可编程控制器维修公司靠谱技术好
  5. 详解电子表格中的json数据:序列化与反序列化
  6. File.open 方法
  7. 数字普惠金融与技术创新—基于企业生命周期视角
  8. 传微软最快将于8月1日向合作伙伴分发Win8 RTM
  9. 016-前端学习-Html\CSS\制作带有二维码的门店订单小票
  10. VulnHub渗透测试实战靶场 - POTATO (SUNCSR): 1