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 不同,存储限制要大得 ...
随机推荐
- MyBatis-Spring(四)--MapperFactoryBean实现增删改查
上一篇文章中提到,使用SqlSessionTemplat时需要输入一长串字符串来获取mapper,这种方式IDE不会检查程序的准确性并且很容易出错,所以这篇文章介绍另一种可以避免这种问题,并且也可以使 ...
- alert提示框去掉域名
window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style ...
- 【DM8168学习笔记6】学习思路整理
DavinciDM8168的开发是一套大的系统,包括ARM.DSP.以及他们的通信协作.对学习思路做简单总结: 一. 对于整体框架的把握 参考了一些文章.介绍davinci整体基础知 ...
- hbase设计方案1
好的方案应该挺多的,比如:可以将[日.周.月]以3,2,1来表示(拼接到ROW_KEY中){离线跑job时候,可以分为月job(每月末run一下,周job(每周末run一下),日job(每天run一下 ...
- SQLSTATE[HY000] [2002] 乱码
string(59) "SQLSTATE[HY000] [2002] ����Ŀ����������ܾ��������ӡ� " 实际意思是:SQLSTATE[HY000] [20 ...
- Luogu P1530 分数化小数 Fractions to Decimals(模拟)
P1530 分数化小数 Fractions to Decimals 题意 题目描述 写一个程序,输入一个形如\(N/D\)的分数(\(N\)是分子,\(D\)是分母),输出它的小数形式.如果小数有循环 ...
- PHP苹果推送实现(APNS)
以下资料网上收集整理得来 1.在ios dev center制作相关证书和文件用客户端实现(不再赘述,网上很多,) 网上教程: http://blog.csdn.net/lizhenning87/ar ...
- NOSQL数据库之 REDIS
NOSQL数据库之 REDIS 一.NOSQL 1.简介 NoSQL ,(Not Only SQL),泛指非关系型数据库. 特点: NoSQL 通常是以key-value形式存储, 不支持SQL语句, ...
- Windows Apache httpd-vhosts.conf
<VirtualHost *:> DocumentRoot "D:\wamp\www" ServerName localhost </VirtualHost> ...
- C++怎么读入非文本文件中的内容
C++怎么读入非文本文件中的内容 3条回答 #include <io.h> #include <windows.h> void main() { char* pFileName ...