梗概
indexedDB是一个Web浏览器中的本地数据库,用于存储大量结构化数据,并提供高性能和持久性。它是基于事件驱动的API,允许开发人员在浏览器中创建、读取、更新和删除对象存储数据。indexedDB使用索引来快速检索数据,支持事务操作以确保数据的一致性和完整性。它是一种强大且灵活的存储解决方案,适用于需要在客户端进行数据处理和缓存的Web应用程序。
使用
- 首先,在浏览器中创建一个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;
};- 然后,在数据库中创建一个对象存储空间:
const transaction = db.transaction(["myObjectStore"], "readwrite");
const objectStore = transaction.objectStore("myObjectStore");
objectStore.add({ id: 1, name: "John Doe", age: 30 });- 进行数据检索和更新操作:
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");
};
};- 最后,删除数据或关闭数据库连接:
const deleteRequest = objectStore.delete(1);
deleteRequest.onsuccess = function() {
console.log("Data deleted successfully");
};
db.close();