如何实现离线存储_javascript中indexeddb怎么用?

admin 百科 11
IndexedDB是浏览器提供的支持索引、事务和异步操作的本地NoSQL数据库,适用于离线场景下持久化存储大量结构化数据,容量可达几百MB。

如何实现离线存储_javascript中indexeddb怎么用?-第1张图片-佛山资讯网

IndexedDB 是浏览器提供的本地数据库,适合在离线场景下持久化存储大量结构化数据。它比 localStorage 更强大:支持索引、事务、异步操作、二进制数据(如 Blob),且容量通常达几百 MB(具体取决于浏览器和用户设置)。

核心概念要先搞清

IndexedDB 不是传统 SQL 数据库,没有表、SELECT 语句,而是基于对象仓库(object store)、键路径(keyPath)、索引(index)和事务(transaction)的 NoSQL 模式:

  • 数据库(IDBDatabase):整个 IndexedDB 实例,一个域名下可建多个,但需显式打开
  • 对象仓库(Object Store):类似“表”,每个数据库可有多个,必须在版本升级时创建(不能运行时新增)
  • 键(Key):每条记录的唯一标识,可以自动生成(autoIncrement)或由字段指定(keyPath)
  • 索引(Index):在非主键字段上建立,用于快速查询(如按用户名查用户)
  • 事务(IDBTransaction):所有读写操作必须在事务中进行,支持只读(readonly)和读写(readwrite)模式

基础用法:打开、建库、增删查

以下是一个完整示例,实现一个简单的待办事项(todo)存储:

1. 打开并初始化数据库

立即学习“Java免费学习笔记(深入)”;

首次打开会触发 onupgradeneeded,此时可建对象仓库和索引:

标签: javascript java 浏览器 app 持久化存储

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~