HTML5存储学习笔记(二)

Web SQL和IndexedDBhtml

1. 综述html5

因为网络数据库能够容许你能够在用户的浏览器上存储数据和附件并提供丰富的查询能力,网络数据库让你有能力创造一种新的web应用,它们既能够工做在线上,也能够工做在离线状态,或者是不稳定的网络链接状态下。git

1.1WebSQL和IndexedDB两种形式的区别github

类别 WebSQL IndexedDB
优势 一个在客户端实现的(SQLite)真实的关系型数据库
  • 容许快速索引和查找对象,于是在网络应用的场景下,你能够管理你的数据并快速读写。
  • IndexedDB是一种非SQL的数据库。你能够根据你的应用的须要,使用JavaScript的对象进行索引。
  • 使用异步模式,用适中的粒度为每次处理上锁。这容许你能够在JavaScript事件驱动的模式下工做。
缺点
  • 已过期的标准
  • 要求很好的掌握SQL语言,而且须要转换JavaScript对象到关系型结构。
  • 非对象驱动
对长期使用关系型数据库的人来讲,理解IndexedDB比较困难。
存储位置 包含行和列的数据表 包含JavaScript对象和key的对象存储
查询方式 SQL语句
Cursor APIsKey Range APIs
和应用程序代码。
事务 在读写操做期间对行、表和数据库上锁 在对objectStore进行只读和读写操做以及对数据库进行版本更新操做时上锁。
事务提交 须要明确建立transaction。若是没有提交,默认作回滚处理。 须要明确建立transaction。默认是直接提交,除非咱们调用废弃方法或提交时有没法捕获的异常。

1.2 浏览器支持状况web

IndexedDB: chrome11+, opera不支持,firefox4+, IE 10+, mobile端支持略差。sql

1.3 存储结构chrome

IndexedDB是按域名分配独立空间,一个独立域名下可建立多个数据库,每一个数据库可建立多个表,一个表能够存储多个对象数据。数据库

 

参考资料:浏览器

https://w3c.github.io/IndexedDB/网络

https://www.w3.org/TR/IndexedDB/

http://www.runoob.com/html/html5-web-sql.html

https://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/

相关文章
相关标签/搜索