Web Storage与IndexedDB存储

简介: Web Storage(包括sessionStorage和localStorage)提供简单的键值对存储,适合会话数据存储。IndexedDB是浏览器中的NoSQL数据库,支持复杂查询和事务,适用于大量数据存储。简而言之,Web Storage适合简单需求,IndexedDB适合复杂存储和查询。示例代码展示了两者用法。

 Web Storage和IndexedDB都是用于在客户端存储数据的Web API。

Web Storage提供了一种简单的键值对存储机制,可以在浏览器上存储和读取数据。它分为两种类型:sessionStorage和localStorage。sessionStorage用于存储会话级别的数据,当会话结束时数据将被清除。而localStorage用于存储持久化的数据,数据可以跨会话和浏览器重启进行访问。

IndexedDB则提供了更强大和灵活的数据库式存储机制。它是一个NoSQL数据库,在浏览器中可以存储结构化的数据,并支持复杂的查询和事务操作。IndexedDB适用于存储大量数据和需要进行复杂查询的场景,比如离线使用和缓存数据。

总结来说,Web Storage适用于简单的键值对存储需求,而IndexedDB适用于复杂的数据存储和查询需求。

下面是一个使用Web Storage和IndexedDB存储数据的简单示例:

使用Web Storage存储数据:

<!DOCTYPE html>
<html>
<head>
  <title>Web Storage Demo</title>
</head>
<body>
  <input type="text" id="dataInput" placeholder="输入数据">
  <button onclick="saveData()">保存数据</button>
  <button onclick="showData()">显示数据</button>
  <script>
    function saveData() {
      var data = document.getElementById("dataInput").value;
      localStorage.setItem("data", data);
      console.log("数据已保存到localStorage");
    }
    function showData() {
      var data = localStorage.getItem("data");
      console.log("从localStorage读取到的数据:" + data);
    }
  </script>
</body>
</html>

image.gif

使用IndexedDB存储数据:

<!DOCTYPE html>
<html>
<head>
  <title>IndexedDB Demo</title>
</head>
<body>
  <input type="text" id="dataInput" placeholder="输入数据">
  <button onclick="saveData()">保存数据</button>
  <button onclick="showData()">显示数据</button>
  <script>
    var request = window.indexedDB.open("myDatabase", 1);
    var db;
    request.onupgradeneeded = function(event) {
      db = event.target.result;
      var objectStore = db.createObjectStore("dataStore", { keyPath: "id" });
    };
    request.onsuccess = function(event) {
      db = event.target.result;
    };
    function saveData() {
      var data = document.getElementById("dataInput").value;
      var transaction = db.transaction(["dataStore"], "readwrite");
      var objectStore = transaction.objectStore("dataStore");
      var request = objectStore.add({ id: 1, data: data });
      request.onsuccess = function(event) {
        console.log("数据已保存到IndexedDB");
      };
    }
    function showData() {
      var transaction = db.transaction(["dataStore"], "readonly");
      var objectStore = transaction.objectStore("dataStore");
      var request = objectStore.get(1);
      request.onsuccess = function(event) {
        var data = event.target.result.data;
        console.log("从IndexedDB读取到的数据:" + data);
      };
    }
  </script>
</body>
</html>

image.gif

这些示例分别演示了如何使用Web Storage和IndexedDB存储数据,并通过控制台输出结果。请注意,在使用IndexedDB之前,需要先创建数据库和对象存储空间。

相关文章
|
6月前
|
存储 移动开发 JSON
H5学习之路之Web存储解决方案
H5学习之路之Web存储解决方案
62 0
|
1月前
|
存储 Web App开发 移动开发
HTML5 Web 存储详解
HTML5 Web存储提供了两种客户端数据存储机制:**Local Storage**和**Session Storage**。Local Storage用于长期存储数据,即使关闭浏览器数据也依然存在,适用于保存用户偏好设置等信息。Session Storage则在标签或窗口关闭时清除数据,适合存储临时信息。两者均提供了简单的API进行数据的存取操作,但需要注意的是,Web存储并非加密存储,不应存放敏感信息。现代浏览器普遍支持Web存储,合理利用这两种存储方式可提升Web应用的用户体验。
|
1月前
|
存储 移动开发 大数据
HTML5 Web IndexedDB 数据库详解
IndexedDB 是一种高效的浏览器存储方案,允许在本地存储大量结构化数据,支持索引和事务,适用于需要离线和大数据处理的应用。它由数据库、对象仓库等组成,通过键值对存储数据,确保数据一致性和完整性。本介绍展示了如何创建、读取、更新和删除数据,以及事务和错误处理的最佳实践。
|
27天前
|
存储 缓存 前端开发
Web应用中的存储方式有哪些?
本文首发于微信公众号“前端徐徐”,介绍了几种常见的前端数据存储技术:Cookie、Web Storage(包括 localStorage 和 sessionStorage)、IndexedDB、Cache Storage 和 Memory Storage。每种技术的特点和使用场景不同,适用于不同的开发需求。文章详细解释了它们的使用方法、特点和应用场景,并提供了代码示例。
77 2
Web应用中的存储方式有哪些?
|
1月前
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
|
1月前
|
存储 移动开发 缓存
HTML5 Web 存储详解
HTML5 Web 存储包括 `localStorage` 和 `sessionStorage`,前者提供持久存储且无过期时间,后者仅在会话期间有效。两者均支持键值对形式存储数据,容量约为 5-10 MB。`localStorage` 适用于用户偏好设置、登录状态保持及离线应用缓存;`sessionStorage` 则用于临时数据如表单输入。数据以字符串形式存储,可通过 `JSON` 方法处理对象。由于数据存储于本地,不适合存放敏感信息。示例代码展示了如何使用按钮将输入框内容保存至 `localStorage` 并进行清除操作。
|
21天前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
72 0
|
6月前
|
存储 JavaScript 前端开发
HTML web存储
HTML web存储
32 0
|
6月前
|
存储 JSON JavaScript
Web存储与传输:技术的背后
Web存储与传输:技术的背后
|
11月前
|
存储 安全
Web存储—localStorage存储
Web存储—localStorage存储