前端——IndexedDB

来源:LINMINGLEA 发布时间:2019-03-28 14:01:47 阅读量:1366

概念

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

1

特点

键值对存储:内部采用对象仓库(Object Store)存放数据,所有类型都可以直接存入(包括javascript对象),每一个数据对象对应为唯一主键(不可重复)

异步:防止拖慢网页

支持事务:transaction,安全性更高。

同源限制:每一个数据库都有他对应的域名,网页只能访问自身域名对应的数据库,不能跨域访问。

存储空间大:比如chrome一条记录不能超过130MFireFox没有限制

支持二进制存储:ArrayBufferBlob

常用对象

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对象:代表数据仓库里边的一组主键,根据这组主键们可以获取对应记录。


标签: PHP 环境搭建
分享:
评论:
你还没有登录,请先