美文网首页
数据持久化

数据持久化

作者: 007_2278 | 来源:发表于2017-11-06 09:00 被阅读29次

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

常用的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")');

});

相关文章

  • Docker学习(13) 卷与持久化数据

    Docker学习(13) 卷与持久化数据 卷与持久化数据——简介 数据主要分为两种:持久化和非持久化。 持久化:就...

  • iOS本地数据持久化

    iOS本地数据持久化 iOS本地数据持久化

  • Redis-2 数据持久化及持久化配置

    一、数据持久化 开启持久化功能后,重启redis,数据会自动通过持久化文件恢复!! 1、redis持久化 – 两种...

  • 面试相关

    数据持久化 什么是持久化狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据...

  • GeekBand iOS开发高级进阶学习笔记(第四周)

    简易数据存储 数据持久化分为本体持久化和云端持久化本体持久化可以存在本地文件或数据库。云端可以存在iCloud,存...

  • iOS数据持久化

    Title: iOS数据持久化 ##数据持久化概念 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型...

  • redis与memcache区别

    1、持久化 redis是支持持久化存储,宕机重启数据不会丢失,memcache重启后数据丢失 redis持久化的方...

  • iOS本地数据持久化

    转载自:CocoaChina - iOS本地数据持久化 本文内容:iOS本地数据持久化的几种类型iOS本地数据持久...

  • Android数据持久化的设计

    title: Android数据持久化 版 本 历 史 1. 数据持久化简介 1.1 数据持久化的需求 在网络异常...

  • 浅谈iOS持久化存储——沙盒存储

    前言 持久化是将程序数据的持久状态和瞬时状态转化的机制,通俗的讲,就是瞬时数据持久化为持久数据。持久化(Persi...

网友评论

      本文标题:数据持久化

      本文链接:https://www.haomeiwen.com/subject/tlmkmxtx.html