`
jean7155
  • 浏览: 62768 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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. 磁盘存储空间不够,数据会丢失。
分享到:
评论

相关推荐

    IndexedDB:浏览器端数据库学习《一》

    在学习和使用IndexedDB时,应熟悉其API接口、了解其异步操作的本质,并掌握如何设计高效的数据模型和索引策略。通过实践和调试,开发者可以熟练掌握这个强大的浏览器端数据库技术,提升Web应用的用户体验和性能。

    WebSQL到IndexedDB的示例:待办事项列表示例,显示如何将WebSQL转换为IndexedDB

    WebSQL和IndexedDB都是浏览器本地存储技术,但随着WebSQL被弃用,开发者逐渐转向使用IndexedDB...通过这个待办事项列表的案例,你可以深入学习到如何在实际项目中进行数据库迁移,同时掌握IndexedDB的核心概念和用法。

    html5 web IndexedDB通讯录的实现

    首先,我们需要理解IndexedDB的基本概念。IndexedDB是一个键值对存储系统,其中每个键都对应一个值。值可以是任意JavaScript类型,包括对象。数据库由多个对象存储(Object Stores)组成,每个对象存储都有自己的...

    IndexedDB基本使用共22页.pdf.zip

    总的来说,“IndexedDB基本使用共22页.pdf.zip”的内容涵盖了如何利用IndexedDB进行数据存储、检索和管理,是学习和理解这一技术的重要资源。通过深入学习和实践,开发者可以有效地利用IndexedDB提升Web应用的性能和...

    IndexedDB详细demo

    IndexedDB 是一种在浏览器中存储大量数据的离线存储技术,它为Web应用程序提供了数据库的功能。这个技术尤其适用于那些需要在本地存储大量结构化数据的应用,如离线阅读应用、Web邮件客户端或者需要进行复杂数据检索...

    学习H5indexedDB 增删改查

    **HTML5 IndexedDB 学习指南** IndexedDB 是 HTML5 中一种高级的本地存储机制,它为应用程序提供了在客户端浏览器中存储大量结构化数据的能力,支持高效搜索和索引。这个技术尤其适合需要离线存储或者需要处理大量...

    基于 HTML5 IndexedDB 接口的离线数据库演示.zip

    通过查看源代码和运行示例,开发者可以更好地了解 IndexedDB 的实际应用,并学习如何在自己的项目中使用这一功能。 总之,HTML5 的 IndexedDB 接口为现代 web 应用提供了强大的离线存储能力,使得开发者能够构建...

    ZangoDB是一个类似于MongoDB的HTML5IndexedDB接口

    在介绍ZangoDB之前,我们先理解两个基础概念:MongoDB和IndexedDB。MongoDB是一款流行的开源NoSQL数据库,以其灵活的数据模型(JSON-like文档)、高性能和易于扩展性而受到欢迎。而IndexedDB则是HTML5的一项标准,它...

    chopstickjs:一个受 Mongo 影响的、基于承诺的围绕 IndexedDB 的包装器

    IndexedDB作为浏览器提供的一个高级本地存储解决方案,提供了丰富的数据存储能力,但它复杂的API使得直接使用起来有一定的学习曲线。为了解决这个问题,开发者们创造了一系列的库来简化IndexedDB的使用,其中就包括...

    局域网基础知识学习.

    1. **工作站/文件服务器模式(Server-Based)**:一台或多台专用服务器负责存储和管理文件,其他工作站通过网络访问这些资源。 2. **客户端/服务器模式(Client/Server, C/S)**:每个工作站既可以作为客户端访问服务器...

    前端项目-IndexedDBShim.zip

    它提供了对IndexedDB API的全面模拟,包括Object Stores、Indexes、Transactions以及KeyPaths等核心概念。 **使用IndexedDBShim** 要在项目中使用IndexedDBShim,首先需要从GitHub仓库下载并引入到项目中,如本例...

    HTML5存储学习笔记

    相比于Web Storage,IndexedDB提供了更高级别的数据管理能力。 3. **Cache API**: 用于缓存资源,提高页面加载速度。它可以配合Service Worker使用,实现离线优先的策略,让Web应用在离线状态下也能正常运行。 4. ...

    javascript数据库大图片

    在JavaScript的世界里,数据库并不是一个原生的概念,但随着Web应用程序的发展,JavaScript开始与数据库进行交互,以存储和检索数据。这里的"javascript数据库大图片"可能是指一系列利用JavaScript操作数据库的示例...

    jquery

    但是,对于新手来说,jQuery仍然是一个很好的学习起点,其易用性无可替代。 总之,jQuery以其高效的DOM操作、丰富的API和强大的插件系统,成为了JavaScript开发中的重要工具。无论你是初学者还是经验丰富的开发者,...

    前端项目-dexie.zip

    它提供了一套简单易用的 API,使得开发者可以像操作传统数据库一样操作 IndexedDB,大大降低了学习和使用的门槛。 3. **Dexie 的核心概念** - **Database(数据库)**:Dexie 中的数据库是通过 `new Dexie...

    html5中文学习手册

    - **IndexedDB**:一个非关系型的数据库系统,支持大量复杂数据的本地存储。 6. **Web Workers和Web Socket** - **Web Workers**:在后台运行,处理繁重计算任务,不阻塞用户界面。 - **Web Sockets**:建立持久...

    front-end-database_FrontEnd_

    2. **IndexedDB**: 是一个NoSQL数据库,支持复杂的数据结构和索引,适用于大量数据的存储,常用于离线应用或需要快速检索的场景。 3. **Cache API**: 是Service Worker的一部分,用于缓存静态资源,改善性能和离线...

    html5游戏编程核心技术与实战-bodegas源代码

    Web Storage(包括localStorage和sessionStorage)用于简单的键值对存储,而IndexedDB则提供了一个更强大的数据库系统,可以用于存储游戏进度、用户数据等。 5. 性能优化:HTML5游戏开发还需要关注性能问题,如减少...

Global site tag (gtag.js) - Google Analytics