日期:2014-05-16  浏览次数:20460 次

IndexedDB学习一:概念
基本概念:
IndexedDB可以使用户在其浏览器中保存大型数据, 并在在线和下线情况下都可以随时随地查询。 

基本定义:
Database(数据库)
database(数据库)
Name:名称,String值.
Current version:当前版本号(默认最小值是1, interger值) .

object store(对象存储)
保存的对象以key-value形式存在, 并以key的升序形式保存,因此,对象的key必须是唯一值。

version(版本)
数据库创建后,默认版本号为1.

database connection(数据连接)
一个数据库可以同时有多个连接

transaction(事物)
一个数据库连接可以同时有几个活跃的事物。 事物的数量范围在数据库创建的时候定义。 事物有3种方式:读写,只读,提升版本号。

request(请求)
每一个请求代表读或写操作。

index(索引)
当数据发生变化时,其所有的索引自动更新。

Key-Value 键-值

key(键)
对象是通过键来获取它的值。 一般对象通过3种途径获得键:键生成器,键路径和具体的值。对象的每个键都是唯一的。  键可以是以下类型:string, date, float, and array.

key generator(键生成器)
一种产生新键,并可用于排序的方法。

in-line key(内嵌键)
通过键路径来查找。

out-of-line key
A key that is stored separately from the value being stored.

备注: in-line key, out-of-line key我不能理解, 正在查阅资料。

key path(键路径)
有效的路径:an empty string, a JavaScript identifier, or multiple JavaScript identifiers separated by periods. It cannot include spaces.

value(值)
JavaScript的任何类型: boolean, number, string, date, object, array, regexp, undefined, and null.

Range and scope(范围)

scope(范围)
只读的事物可以同时多个进行, 但是写的事物必须单独进行。

cursor(光标)
一段键的范围内可以使用光标来解析范围内的每条数据。

key range(键的范围)
通过一段键的范围,可以获取其中范围内的值。

局限
1. 对于某些地区的文字,不能进行正确的排序。
2. 不支持实时交互
3. 不支持全文搜索, 无法支持LIKE操作。
4. 用户可随时删除浏览器保存的数据库。
5. 磁盘存储空间不够,数据会丢失。