IndexedDB 是浏览器内置的异步、事务型客户端数据库,通过对象存储组织数据,支持索引、多种数据类型及版本控制;需用 open() 初始化并处理 onupgradeneeded 创建存储,所有增删改查操作必须在事务中进行。

JavaScript 本身不能直接操作服务端数据库(比如 MySQL、PostgreSQL),它运行在浏览器中,没有权限直连服务器数据库。但浏览器提供了 IndexedDB —— 一个内置的、异步的、支持事务的客户端数据库,适合存储大量结构化数据(如对象、文件、二进制数据)。
IndexedDB 是什么?
IndexedDB 是一种低级 API,不是 SQL 数据库,不支持 SQL 查询语句,而是通过对象存储(Object Store)来组织数据。它支持索引、事务、键值对存取,适合离线应用、缓存、大表单暂存等场景。
关键特点:
- 异步操作,不会阻塞主线程
- 支持事务(readwrite、readonly)保障数据一致性
- 可存储 JS 对象、ArrayBuffer、Blob、File 等原生类型
- 有版本控制机制,升级数据库结构需用
onupgradeneeded
如何打开并初始化 IndexedDB?
使用 window.indexedDB.open() 打开数据库,首次打开会触发 onupgradeneeded 创建对象存储。
立即学习“Java免费学习笔记(深入)”;
示例:创建名为 myAppDB、版本为 1 的数据库,并添加一个叫 users 的对象存储:
标签: mysql javascript java js 浏览器 app ai win 跨域 键值对
还木有评论哦,快来抢沙发吧~