脚本网 > 数据库 > 数据库其它 > 前端数据库IndexedDB基础使用的方法步骤

前端数据库IndexedDB基础使用的方法步骤

前言

在现代 Web 开发中,随着应用程序复杂度的增加,对本地存储的需求也越来越高。虽然 localStorage 和 sessionStorage 可以满足一些简单的数据存储需求,但当需要存储大量结构化数据或进行复杂查询时,它们就显得力不从心了。这时候,IndexedDB 就成为了一个强大的选择。本文将带你全面了解 IndexedDB 的使用,从基础操作到高级技巧,助你在项目中灵活应用。

1. IndexedDB 是什么?为啥要用它?

首先,IndexedDB 是浏览器内置的一个 NoSQL 数据库。它和传统的关系型数据库不同,更像是一个键值对存储,但功能更强大。它的特点可以用几个关键词来概括:

  • 大容量:通常可以存储几百 MB 甚至 GB 级别的数据,非常适合需要离线存储的应用。
  • 异步操作:所有操作都是非阻塞的,不会让页面卡顿。
  • 复杂查询:支持索引和游标,可以高效地查询和遍历数据。
  • 事务支持:可以确保数据的完整性和一致性。

举个简单的例子,如果你在开发一个需要用户离线使用的笔记应用,或者一个需要存储大量用户数据的复杂表单,IndexedDB 绝对是你的好帮手!

2. indexedDB 数据库的使用

2.1. 查看indexedDB

indexDB 其实是 window 对象的一个属性。 也就是全局变量。 因此我们可以在控制台直接输出

通过在控制台中输出 indexDB 对象,我们可以一目了然地看到它所提供的各种方法。

2.2. 打开和创建数据库

首先要掌握的就是它的核心方法之一 的open()open() 方法用于打开或创建一个数据库,并返回一个 IDBOpenDBRequest 对象,这个对象代表了异步操作的请求。通过IDBOpenDBRequest ,我们可以监听数据库的打开状态,并进一步执行后续操作。

Open() 参数

让我们来详细了解一下 open() 方法的两个参数:

  1. 第一个参数(必传):数据库名称。用于指定你要打开或创建的数据库的名称。
  2. 第二个参数(可选):数据库版本号。不传默认值为 1。

在我们成功创建数据库后,可以通过浏览器的开发者工具中 Application 面板直观地看到数据库的名称以及当前版本号

当你需要升级数据库结构(例如新增或修改对象存储空间)时,可以通过指定一个更高的版本号来触发 upgradeneeded 事件,进而完成数据库的更新操作。

这两个参数为 open() 方法提供了灵活性,既确保了操作的明确性,也为数据库的版本管理提供了支持。