数据持久化

数据持久化及数据更新缓存

常用的8种缓存机制:HTTP缓存, locationStorage, Session Storage, Clear storage, Local Storage, indexDB, Web SQL, Cookies, CacheStorage, Application Cache.

LocalStroage :HTML5

不同浏览器中localStroage有长度限制且各不相同(IE8:5MB;firefox8:5.24MB;Opera:2MB;Chrome,Safari:2.6MB)

核心API:

+设置储存记录: localStorage.setItem()

+获取存储记录: localStorage.getItem()

+删除: localStroage.removeItem()

+删除全部: localStroage.clear()

SessionStorage:

+可以说sessinonstroage为临时储存器,与localStroge功能类似,但是在浏览器关闭之后数据会被清空.

+sessionstroage与localStroag的API 相同

cookie :

1.cookie指网站为了辨别用于身份或session跟踪而生成的储存

2.cookie储存小型数据,通常认为cookie的最大长度限制为4kb(4095b~4097b)

+设置(js可以使用document.cookie属性来创建,读取,及删除cookie)

+document.cookie = 'key=value'

//读取或获取是通过点语法来获取

+console.log(docunment.cookie.username);

为cookie添加一个结束时间(可以用GMT或是UTC)

+docunment.cookie="key=value; key=value; key=value; expires=Tues, 31 Oct 2017 12:00:00 GMT"

+删除    由于可以设置过期时间,如果要删除的话,可以将过期时间设置成以前的时间

Application Cache

是一种通过mainfest配置文件在本地有选择性的储存js,css,图片等静态资源等待文件等待文件缓存机制

//mainfest 是HTML下的属性,形式为 <html mainfest='index.appcache'>

格式为

CACHE MANIFEST

#version 1.9

CACHE:

index.html

code.js

本地缓存

NETWORK

style.css

网上缓存

Application Cache 优势:

+离线浏览

+快速加载

+服务器负载小

尽管Application Cache的实现方便, 但是Application Cache 已经开始被标准弃用, 渐渐将会由ServiceWorkers来代替,所以现在不建议使用Application Cache来实现离线应用

WebSQL, indexDB

WebSQL是浏览器用于储存较大量数据的缓存机制;需要使用数据库知识:

创建数据库 CREATE DATABASE  数据库名

删除数据库 DROP DATABASE 数据库名

创建新表 CREATE TABLE 表名(条件)

删除新表 DROP TABLE 表名

几个基本的sql语句

+选择 select * from 要操作的表格名 where 范围

+插入 insert into 要操作的表格名

+删除 delete from 要操作的表格名 where 范围

+更新 update 要操作的表格名set field1=value1 where 范围

WebSQL不是HTML5规范

IndexDB: 也是一个可在客户端存储大量结构化数据数据库

WebSQL, indexDB实际应用场景不是很多, 而且将大量数据存储保存在本地也会造成数据泄露, 了解即可, 无需在实际项目使用

WebSQL三个核心API: openDatabase(); 创建transaction();执行 executeSql()删除

var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

var msg;

db.transaction(function (context) {

context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');

context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容