‘壹’ html5 本地存储有多少种方案
html5 本地存储有五种方案。
1、LocalStorage
LocalStorage就是Key-Value的简单键值对存储结构,Web Storage除了localStorage的持久性存储外,还有针对本次回话的sessionStorage方式,一般情况下localStorage较为常用,示例代码如下:
function save(dataModel){
var value = dataModel.serialize();
window.localStorage['DataModel'] = value;
window.localStorage['DataCount'] = dataModel.size();
console.log(dataModel.size() + ' datas are saved');
return value;
}
function restore(dataModel){
var value = window.localStorage['DataModel'];
if(value){
dataModel.deserialize(value);
console.log(window.localStorage['DataCount'] + ' datas are restored');
return value;
}
return '';
}
function clear(){
if(window.localStorage['DataModel']){
console.log(window.localStorage['DataCount'] + ' datas are cleared');
delete window.localStorage['DataModel'];
delete window.localStorage['DataCount'];
}
}
2、Cookie
这种存储方式存储内容很有限,只适合做简单信息存储,存取接口设计得极其反人类,举例如下:
function getCookieValue(name) {
if (document.cookie.length > 0) {
var start = document.cookie.indexOf(name + "=");
if (start !== -1) {
start = start + name.length + 1;
var end = document.cookie.indexOf(";", start);
if (end === -1){
end = document.cookie.length;
}
return unescape(document.cookie.substring(start, end));
}
}
return '';
}
function save(dataModel) {
var value = dataModel.serialize();
document.cookie = 'DataModel=' + escape(value);
document.cookie = 'DataCount=' + dataModel.size();
console.log(dataModel.size() + ' datas are saved');
return value;
}
3、Indexed Database API
IndexedDB可以存储结构对象,可构建key和index的索引方式查找,目前各浏览器的已经逐渐支持IndexedDB的存储方式,其使用代码如下,需注意IndexedDB的很多操作接口类似NodeJS的异步回调方式,特别是查询时连cursor的continue都是异步再次回调onsuccess函数的操作方式,因此和NodeJS一样使用上不如同步的代码容易。
function save(dataModel){
var tx = db.transaction("meters", "readwrite");
var store = tx.objectStore("meters");
dataModel.each(function(data){
store.put({
id: data.getId(),
tag: data.getTag(),
name: data.getName(),
meterValue: data.a('meter.value'),
meterAngle: data.a('meter.angle'),
p3: data.p3(),
r3: data.r3(),
s3: data.s3()
});
});
tx.oncomplete = function() {
console.log(dataModel.size() + ' datas are saved');
};
return dataModel.serialize();
}
4、FileSystem API
FileSystem API相当于操作本地文件的存储方式,目前支持浏览器不多,其接口标准也在发展制定变化中,因此也可以动态生成图片到本地文件,然后通过 filesystem:http:*** 的URL方式直接赋值给img的html元素的src访问。
function save(dataModel) {
var value = dataModel.serialize();
fs.root.getFile('meters.txt', {create: true}, function (fileEntry) {
console.log(fileEntry.toURL());
fileEntry.createWriter(function (fileWriter) {
fileWriter.onwriteend = function () {
console.log(dataModel.size() + ' datas are saved');
};
var blob = new Blob([value], {type: 'text/plain'});
fileWriter.write(blob);
});
});
return value;
}
5、Application Cache
window.applicationCache 对象是对浏览器的应用缓存的编程访问方式。其 status 属性可用于查看缓存的当前状态:
var appCache = window.applicationCache;
switch (appCache.status) {
case appCache.UNCACHED: // UNCACHED == 0
return 'UNCACHED';
break;
case appCache.IDLE: // IDLE == 1
return 'IDLE';
break;
case appCache.CHECKING: // CHECKING == 2
return 'CHECKING';
break;
case appCache.DOWNLOADING: // DOWNLOADING == 3
return 'DOWNLOADING';
break;
case appCache.UPDATEREADY: // UPDATEREADY == 4
return 'UPDATEREADY';
break;
case appCache.OBSOLETE: // OBSOLETE == 5
return 'OBSOLETE';
break;
default:
return 'UKNOWN CACHE STATUS';
break;
};
‘贰’ 本地存储方式有哪几种
数据库,nsuserdefauts, file , plist,archieve 归档
比较小的就放在nsuserdefaults(以文件设计的存放在Libraray中)
数据库里面适合存放一条一条的记录
file 一般存普通文件,图片,视频,音频等
plist 存放比 nsuserdefaults 大一些的
归档 nsarchieve 可以存对象
‘叁’ 我电脑硬盘的①本地磁盘②软件③文档。分别是40G,36G,36G。电脑的储存一共是112G吗
数据计算方式不同,生产厂家的计算以1000计算,而电脑以1024计算,你可以看右键我的电脑,管理,磁盘管理,在里面能看到总大小,将它x0.9~0.94就好了,好的厂家有0.95,差的也有0.9,例如500G,500*0.94=470G,所以标签上500G的实质在电脑上只能使用470G。
‘肆’ iOS本地数据存储都有哪几种方式
简单的数据,对安全性要求不高的数据可以使用 NSUserDefaults (本质上是一个plist)来存储
相对复杂点的数据,可以使用coredata (本质上是使用sqlite 来存储)
对安全性要求较高的数据,可以使用keychain 来存储。
‘伍’ 什么是本地存储
本地存储是一个电脑主机或若干个电脑,硬盘及移动硬盘上存储的文件。成为本地文件或者存储。(没有通过网络统一规划的存储。只是单个电脑或者硬盘,存储的文件,可以叫做本地存储)
‘陆’ 物联网节点数据巨大,其存储方式有哪些
目前物联网的存储方式大概有一下几种方式:
1 本地存储,通过在设备内部附加闪存等方式把数据存储在本地,或者本地网络的服务器上,实现数据的存储于随时调用。
2 私有云存储,企业或者组织通过假设私有云的方式,把物联网节点中的所有数据汇总到私有云上,用于随时查询与调用。
3 公有云,把汇聚节点的所有数据上传至公有云上,一方面便于管理,随时存取,另外一方面配合城市云平台,实现大数据的分析与预测。