本文仅梳理indexedDB基础概念以及对象,具体执行需要自行查阅api

<>IndexedDB

<>概念
HTML5离线存储数据的一种解决方案,NOSQL类型,浏览器提供的数据库,使用索引高效搜索数据进行读写和管理操作。
<>特点

* 键值对存储:内部采用对象仓库(Object
Store)存放数据,所有类型都可以直接存入(包括javascript对象),每一个数据对象对应为唯一主键(不可重复)。
* 异步:防止拖慢网页
* 支持事务:transaction,安全性更高。
* 同源限制:每一个数据库都有他对应的域名,网页只能访问自身域名对应的数据库,不能跨域访问。
* 存储空间大:比如chrome一条记录不能超过130M,FireFox没有限制
* 支持二进制存储:ArrayBuffer和Blob
<>常用对象

* indexedDB对象:浏览器提供,作为开发者的操作接口。
*
IDBRequest对象:表示打开数据库连接,indexedDB.open()方法和indexedDB.deleteDatabase()方法返回这个对象。(IDBOpenDBRequset对象继承了IDBRequest对象,提供两个额外事件监听属性)
*
IDBDatabase对象:打开之后从IDBOpenDBRequset.result属性上获取该对象,代表连接的数据库,之后对数据库的操作都是通过这个对象完成。
*
IDBObjectStore对象:代表一个对象仓库可以对其中的数据进行增删改查创建索引,由IDBDatabase.createObjectStore()方法创建删除,由transaction.objectStore获取。
*
IDBTransaction对象:该对象使用异步操作数据库事务,所有读写操作都通过这个对象进行,由IDBDatebase.transaction()方法创建并返回,执行的顺序按照创建的顺序,而不是发出请求的顺序。
* IBDIndex对象:代表数据库索引,该对象可以获取数据库里边的记录,数据记录的主键默认就是带索引,IDBIndex对象用于给其他键建立持久性索引。
*
IBDCursor对象:指针对象,用来遍历数据仓库(IDBObjectStore或索引IDBIndex的记录),由IDBObjectStore.openCursor()方法创建返回。
* IDBKeyRange对象:代表数据仓库里边的一组主键,根据这组主键们可以获取对应记录。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信