uniapp数据缓存
uniapp数据缓存就是利用浏览器的localStorage存储。
官网详解:uni.setStorage(OBJECT) @setstorage | uni-app官网
1.异步存储
uni.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 本地缓存中的指定的 key |
data | Any | 是 | 需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例:
uni.setStorage({key: 'storage_key',data: 'hello',success: function () {console.log('success');}
});
注意:uni-
、uni_
、dcloud-
、dcloud_
为前缀的key,为系统保留关键前缀。如uni_deviceId
、uni_id_token
,请开发者为key命名时避开这些前缀。
uni.getStorage(OBJECT)
从本地缓存中异步获取指定 key 对应的内容。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 本地缓存中的指定的 key |
success | Function | 是 | 接口调用的回调函数,res = {data: key对应的内容} |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.getStorage({key: 'storage_key',success: function (res) {console.log(res.data);}
});
2.同步存储
uni.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 本地缓存中的指定的 key |
success | Function | 是 | 接口调用的回调函数,res = {data: key对应的内容} |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例:
uni.setStorageSync('storage_key', 'hello');
uni.getStorageInfoSync()
try {const res = uni.getStorageInfoSync();console.log(res.keys);console.log(res.currentSize);console.log(res.limitSize);
} catch (e) {// error
}
清除和删除操作请移步官网查看详细操作~
3.扩展(localStorage)
优点:
localStorage 拓展了 cookie 的 4K 限制。
localStorage 会可以将第一次请求的数据直接存储到本地,这个相当于一个 5M 大小的针对于前端页面的数据库
缺点:
localStorage在浏览器的隐私模式下面是不可读取的。
localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
区别:
localStorage 与 sessionStorage 的唯一一点区别就是 localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。
uniapp数据缓存相关推荐
- uniapp数据缓存的坑
官网代码: uni.setStorage({key: 'storage_key',data: 'hello',success: function () {console.log('success'); ...
- uni-app清理缓存数据_数据清理-从哪里开始?
uni-app清理缓存数据 It turns out that Data Scientists and Data Analysts will spend most of their time on d ...
- uni-app知识点整理(5)- 网络请求、数据缓存、图片上传和预览
目录 一.网络请求 1.1 发送get请求 二.数据缓存 2.1 uni.setStorage(OBJECT) 2.2 uni.setStorageSync(KEY,DATA) 2.3 uni.get ...
- uni-app【数据缓存API】
数据缓存API uni.setStorage(OBJECT) uni.setStorageSync(KEY,DATA) uni.getStorage(OBJECT) uni.getStorageSyn ...
- Uni-app的学习Ⅲ(事件、生命周期、上下拉刷新、网络请求、数据缓存、图片操作、条件注释)
一.事件 事件绑定 在uni中事件绑定和vue中是一样的,通过v-on进行事件的绑定,也可以简写为@ <button @click="tapHandle">点我啊< ...
- 开启这个数据缓存,一键加速你的小程序。
大部分采用 WordPress Rest 开发的 App 应用或者小程序都需要对 REST API 进行数据缓存,从而提升应用(小程序)加载数据速度. 丸子小程序付费版插件虽然很早就已经集成了 RES ...
- iOS开发网络——数据缓存
一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以下问题 (1)用户流量的浪费 ...
- php实现基于shmop扩展的数据缓存
http://eslizn.com/post/php-data-cache-for-shmop.html 今天上课时研究了下PHP的数据缓存,根据网上的资料,一般采用serialize序列化存储,读取 ...
- Redis在windows实现将数据缓存起来定时更新读取
实现接口的读取存放在内存中,实现了Web网站直接读取内存数据,大大的减少了访问接口带来的等待时间,这个功能是比较实用的 需要下载一下'类库'及'Redis-x64-3.2.100程序包' 百度云材料下 ...
最新文章
- 高频开关电源原理_程控开关电源的工作原理
- 自动驾驶测试:MIL、SIL、PIL、HIL
- linux之history命令
- ASP.Net面向对象思想
- BUUCTF Web [GXYCTF2019]Ping Ping Ping
- oracle buffercache,Oracle DBA开发之:使用sql来查看buffer cache的使用情况
- FeelYourSound Chillout Engine Pro for Mac - MIDI文件生成插件
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_4_Object类中wait带参方法和notifyAll方法...
- (附源码)计算机毕业设计SSM餐厅订餐系统
- python-白盒测试方法
- python期货基本面分析_期货盘面分析语言,我用python做期货
- L9110H电机驱动模块-FPGA
- linux系统怎么拨号上网,linux配置上网 linux adsl拨号上网设置
- 霍普金斯计算机专业研究生如何,约翰·霍普金斯大学电气和计算机工程硕士研究生...
- 教你一招,免费拆分pdf
- VS开发Qt应用时遇到“找不到VCRUNTIME140D_APP.dIl,无法继续执行代码”的错误
- 【Pandas总结】第六节 Pandas 添加列
- 海思hi3531处理器参数,hi3531芯片详细信息简介
- 网赚点击通用教程! - 健康程序员,至尚生活!
- python编程从入门到实践练习8-6:城市名
热门文章
- 可以免费下载字体包的地址
- 字母的加密变换 c语言,有一种简单的对英文字母加密的变换方法是将字母的ASIIC编码自动加5,为了保证变更后的数值仍处于英文字母...
- 台式计算机如何定时关机,电脑在哪设置定时关机
- 最新传奇MA游戏官网社区Discuz模板源码
- 高级IO--select
- centos7.4 限制用户登录失败次数并锁定用户
- 门禁布线系统常见错误详解
- ERP系统与PLC数据对接方法
- v2ray.com/core/proxy/vmess/outbound: failed to find an available destination
- 激光三角测量法在工业视觉检测上的应用