每个微信小程序都可以有自己的本地缓存,可以通过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. 提高你的Java代码质量吧:让我们疑惑的字符串拼接方式的选择
  2. App小样在手机运行了一下
  3. python基础装饰器_Python基础 装饰器及练习
  4. Express中使用ejs新建项目以及ejs中实现传参、局部视图include、循环列表数据的使用
  5. js方法的声明与调用
  6. 如何在摆摊经济中脱颖而出
  7. django的form常用字段和参数
  8. Pandas——筛选数据(loc、iloc)
  9. 基于OpenCV的计算机视觉入门(5)图像美化(上)
  10. 单臂路由VLAN通信
  11. 问题:document.documentElement与document.body的区别
  12. 看我说PHP之文件上传
  13. Faster rcnn 实战
  14. UOS系统如何查看windows系统的共享文件
  15. QQ.COM二级域名大全 腾讯旗下产品大全
  16. pythonds18b20_[python]树莓派第一课之DS18B20温度传感器
  17. 华为服务器 电源管理 高性能,华为服务器可服务性设计介绍-电源篇-Huawei.PDF
  18. 微信公众平台接口程序搜索音乐
  19. 计算机编程背那个英语词汇,编程英语词汇
  20. Python 第三方模块 数据分析 Pandas模块 字符串处理

热门文章

  1. 怎样找到ant压缩这个软件_Bandizip: 这个可能是最优秀的解压缩软件了
  2. GIS开发:Vector tiles切片工具
  3. java排队买票_春运还需多少通宵排队买票猝死的悲剧
  4. IC学习_CMOS有源和无源器件
  5. 齐岳定制:FITC荧光素标记琼脂糖;FITC-Agarose
  6. 怎么把照片拼在一起?这几种拼图神器了解一下
  7. 大众「首次」全球采购“钦点”中国供应商,智能化时代的「出海」新趋势
  8. mysql 词频分析_从Mysql中取出数据并用jieba统计词频
  9. ARK女神也押注房产交易,OPEN、Z、为何备受青睐?
  10. 啥是B2B2C多用户商城