梗概

indexedDB是一个Web浏览器中的本地数据库,用于存储大量结构化数据,并提供高性能和持久性。它是基于事件驱动的API,允许开发人员在浏览器中创建、读取、更新和删除对象存储数据。indexedDB使用索引来快速检索数据,支持事务操作以确保数据的一致性和完整性。它是一种强大且灵活的存储解决方案,适用于需要在客户端进行数据处理和缓存的Web应用程序。

使用

  1. 首先,在浏览器中创建一个indexedDB数据库对象:
let db;
const request = indexedDB.open('myDatabase', 1);
 
request.onerror = function(event) {
  console.log("Database error: " + event.target.errorCode);
};
 
request.onsuccess = function(event) {
  db = event.target.result;
};
  1. 然后,在数据库中创建一个对象存储空间:
const transaction = db.transaction(["myObjectStore"], "readwrite");
const objectStore = transaction.objectStore("myObjectStore");
 
objectStore.add({ id: 1, name: "John Doe", age: 30 });
  1. 进行数据检索和更新操作:
const getRequest = objectStore.get(1);
 
getRequest.onsuccess = function(event) {
  const data = getRequest.result;
  data.age += 1;
 
  const updateRequest = objectStore.put(data);
  
  updateRequest.onsuccess = function() {
    console.log("Data updated successfully");
  };
};
  1. 最后,删除数据或关闭数据库连接:
const deleteRequest = objectStore.delete(1);
 
deleteRequest.onsuccess = function() {
  console.log("Data deleted successfully");
};
 
db.close();