MUI - 封装localStorage与plus.storage
MUI - 封装localStorage与plus.storage 2.0版本
在使用plus.storage频繁地存取数据时,可以感觉到明显的卡顿,而且很耗内存,
在切换到localstorage时虽然效率很高,页面渲染速度明显变快了,且手机发热不明显,不过又遇到了存储瓶颈(一般<=5M),
因此折中采取了plus.storage与localStorage混合的方案:
当localStorage达到存储瓶颈时切换到plus.storage
封装的方法基本上和plus.storage没区别。关于plus.storage参考http://www.html5plus.org/doc/zh_cn/storage.html
接口
getItem
通过键key检索获取应用存储的值var item=myStorage.getItem(key);
- 参数
key:DOMString必选
存储的键值 - 返回值
DOMString: 键key对应应用存储的值,如果没有则返回null。 - 说明:方法内部默认先从
localStorage取值,没有再从plus.Storage取值
- 参数
setItem
修改或添加键值(key-value)对数据到应用数据存储中void myStorage.setItem(key, value);
- 说明:方法默认将数据存储在
localStorage中,超出localStorage容量限制则存到plus.storage中
- 说明:方法默认将数据存储在
getLength
获取localStorage中保存的键值对的个数var len=myStorage.getLength();
getLengthPlus
获取plus.storage中保存的键值对的个数removeItem
通过key值删除键值对存储的数据void myStorage.removeItem();
clear
清除应用所有的键值对存储数据void myStorage.clear();
key
获取localStorage键值对中指定索引值的key值var foo = myStorage.key(index);
keyPlus
获取plus.storage键值对中指定索引值的key值var foo = myStorage.keyPlus(index);
getItemByIndex
通过键key检索获取应用存储localStorage的值var item=myStorage.getItemByIndex(index);
- 参数
index:Number必选 存储键值的索引 - 返回值
DOMString: 键key对应应用存储的值,如果没有则返回null。
- 参数
getItemByIndexPlus
通过键key检索获取应用存储的值var item=myStorage.getItemByIndexPlus(index);
- 参数
index:Number必选 存储键值的索引 - 返回值
DOMString: 键key对应应用存储的值,如果没有则返回null。
- 参数
getItems
通过键key检索获取应用存储的值var items=myStorage.getItems(key)
- 参数
key:Number可选 存储键值的索引 - 返回值
Array:不传key参则返回所有对象,否则返回含有该key的对象
- 参数
removeItemByKeys
清除指定前缀的存储对象void myStorage.removeItemBykeys(keys,cb)
- 参数
keys:DOMString或Array, 必选keys为String,方法内部自动转换为Array - 参数
cb:Function可选 回调函数
- 参数
说明
以上方法经常用到的还是getItem setItem
getItems在测试或控制台查看时倒是偶尔用得到
removeItemBykeys是结合本地文件common.cache.clear缓存清除时一齐使用的
代码已分享到github
地址在https://github.com/phillyx/MUIDemos/tree/master/js/myStorage.js
也可直接使用压缩后的代码https://github.com/phillyx/MUIDemos/tree/master/dist/common.js
MUI - 封装localStorage与plus.storage的更多相关文章
- mui封装的ajax请求
由于项目中引进MUI框架,所以就不需要引进jquery,但需要和后台交互时,常写为jquery格式:所以笔者觉得有必要将mui封装的ajax请求在这里提一下: 1,mui框架基于htm5plus的XM ...
- vue todolist 封装localstorage
//封装操作localstorage本地存储的方法 模块化的文件 // nodejs 基础 var storage={ set(key,value){ localStorage.setItem(key ...
- 封装localstorage方法
//封装操作localstorage本地存储的方法 var storage = { //存储 set(key, value) { localStorage.setItem(key, JSON.stri ...
- 封装LocalStorage.js
之前使用vue开发的项目频繁使用到localStorage,封装了一下 localStorage.js文件代码如下: let obj = {}; /** * putLocalStorage 把数据放到 ...
- localstorage 更新监测 storage事件
1.存储更新监测 存储状态监测的原理是storage事件.storage事件说明: https://developer.mozilla.org/zh-CN/docs/Web/API/StorageEv ...
- mui封装做好的手机版网站为apk
BOSS提到的一个功能,就是把已经做好的手机网站http://xxx.com/m/home/index ,想着看起来应该蛮简单,一个html页面里就一个iframe就好了,然后宽度和高度都设置为100 ...
- 封装localStorage设置,获取,移除方法
export const local = { set(key, value) { localStorage.setItem(key, JSON.stringify(value)); }, get(ke ...
- 本地存储localStorage以及它的封装接口store.js的使用
本地存储localStorage以及它的封装接口store.js的使用 sublime-text chrome javascript readyGo 2016年11月20日发布 0 推荐 9 收藏 ...
- localStorage/cookie 用法分析与简单封装
本地存储是HTML5中提出来的概念,分localStorage和sessionStorage.通过本地存储,web应用程序能够在用户浏览器中对数据进行本地的存储.与 cookie 不同,存储限制要大得 ...
随机推荐
- [转]C#接收邮件
最近由于工作需要,接触到了邮件服务器.以前我用CF写过,感觉没有什么,我想用C#来实现会更简单,但是万万没想到C#没有提供邮件接收的方法,令我很不解.通过我在网上查找,发现了一个国外公司写好的接收邮件 ...
- docker tomcat启动慢
镜像 https://hub.docker.com/r/errorlife/tomcat/ docker pull errorlife/tomcat
- 简单易学的机器学习算法——基于密度的聚类算法DBSCAN
一.基于密度的聚类算法的概述 最近在Science上的一篇基于密度的聚类算法<Clustering by fast search and find of density peaks> ...
- 5+App 基于HTML、JS、CSS编写的运行于手机端的App(DCloud开发)
HTML5 Plus移动App(5+App) 工具: 开发工具HBuilder下载下载地址 开发工具HBuilderX下载下载地址(替代HBuilder) 框架: uni-app :是一个使用 Vue ...
- Tarjan求LCA(离线)
基本思想 把要求的点对保存下来,在dfs时顺带求出来. 方法 将每个已经遍历的点指向它回溯的最高节点(遍历它的子树时指向自己),每遍历到一个点就处理它存在的询问如果另一个点已经遍历,则lca就是另一个 ...
- Luogu P1462 通往奥格瑞玛的道路(最短路+二分)
P1462 通往奥格瑞玛的道路 题面 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己 ...
- jsonRPC
<?php /** * Simple JSON-RPC interface. */ namespace org; class JsonRpc{ protected $host, $port, $ ...
- 一次.NET项目反编译的实战经验(WinForm)
最近由于业务需求,需要对一个老项目进行功能调整.但是项目的源代码已经找不到了.所以只能尝试对项目行进反编译. 一.反编译工具的选择 提到.NET的反编译,第一个想到的就是大名鼎鼎的Reflector. ...
- 【C++】从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...
- 分布式事务 XA 两段式事务 X/open CAP BASE 一次分清
分布式事务: 分布式事务是处理多节点上 的数据保持 类似传统 ACID 事物特性的 一种事物. XA:是一种协议,一种分布式事务的协议,核心思想是2段式提交. 1 准备阶段 2 提交阶段.XA协议是 ...