使用 Web SQL 与 IndexedDB 相比有何优势? [已关闭]

问题描述 投票:0回答:2

indexeddb 比浏览器提供的 websql api 好在哪里?

indexeddb web-sql browser-api
2个回答
47
投票

Web SQL 已根据 https://www.w3.org/TR/webdatabase/ 弃用。

如果您需要存储未存储在服务器端的结构化客户端特定数据,或者您不想每次都向服务器请求,则可以使用

IndexedDB

localStorage
相反,
IndexedDB
是异步的,因此性能更高。它支持索引,从而比
localStorage
更有效地查询,后者只是一个键值存储。但是,如果您的需求很简单,
localStorage
可能是更好的选择。

Here是一个讨论不同网络存储选项的链接。 Here 是有关如何使用

IndexedDB
进行渐进式 Web 应用程序的教程。


19
投票

为什么不使用 Web SQL?

Web SQL 数据库规范自 2010 年 11 月起已被弃用。不鼓励浏览器供应商支持这项技术,阅读本文的任何人都必须理解这一点,这一点很重要。您可以在其 Wikipedia 页面上阅读有关 Web SQL 的更多信息。现在回到你问题的另一个重要部分。

何时使用 IndexedDB API?

您可以使用 IndexedDB 存储任何 JavaScript 类型的数据,例如对象或数组,而无需对其进行序列化。针对数据库的所有请求都是异步的。浏览器的实现允许您设置成功或错误发生时的回调。此实现的现代抽象允许您使用 Promise 来代替。

IndexedDB 的主要用例之一是创建一个离线数据库,一旦在线,该数据库将与实际数据库同步。这允许应用程序继续“离线工作”并“坚持过去的重新加载”。一个现已消亡的着名的例子是Wunderlist,即使在离线状态下,您也可以添加和编辑任务。这些操作进入同步队列,当网络再次可用时,该队列将被处理并清空。这就是许多待办事项列表应用程序在离线时的工作方式。

© www.soinside.com 2019 - 2024. All rights reserved.