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 不同,存储限制要大得 ...
随机推荐
- 通过三个DEMO学会SignalR的三种实现方式 转载https://www.cnblogs.com/zuowj/p/5674615.html
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...
- PAT甲级——A1011 World Cup Betting
With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...
- C#——找出实现某个接口的所有类 - Hello World - CSDN博客
原文:C#--找出实现某个接口的所有类 - Hello World - CSDN博客 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u0125260 ...
- crm-ssh-列表显示(顾客列表,用户,联系人列表)
客户列表 1 分析 2 书写步骤 1.封装PageBean 2.书写Action 3.书写Service 4.书写Dao 5.完成strutx以及spring的配置 6.书写前台list.jsp页面 ...
- webservice作用(优,缺点;作用)
1其实我们平时的应用,有一方面考虑是部署方便,维护容易~!如果是DLL,部署,更新需要每个应用了这个DLL的应用程序都作相应的引用更新...而如果用了Ws,则不用,因为它通过网络部署,通过网络引用,基 ...
- JasperReport查看和打印报告7
报表填充过程JasperPrint对象的输出可以使用内置的浏览器组件来查看,打印或导出到更多的流行的文件格式,如PDF,HTML,RTF,XLS,ODT,CSV或XML.Jasper文件查看和打印将包 ...
- spring源码学习之容器的扩展(二)
六 BeanFactory的后处理BeanFactory作为spring容器的基础,用于存放所有已经加载的bean,为了保证程序上的高扩展性,spring针对BeanFactory做了大量的扩展,比如 ...
- meta标签中设置apple-itunes-app的意义
告诉iphone的safari浏览器:这个网站对应的是哪个app <meta name="apple-itunes-app" content="app-id=589 ...
- mybatis深入理解(四)-----MyBatis的架构设计以及实例分析
MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例, ...
- Android中Activity的android:windowSoftInputMode属性
转载 https://blog.csdn.net/qiutiandepaomo/article/details/84028558 windowSoftInputMode属性主要是用来设置窗口软键盘的交 ...