对于浏览器中的可索引本地存储,我都有哪些选择?

Posted

技术标签:

【中文标题】对于浏览器中的可索引本地存储,我都有哪些选择?【英文标题】:What are my options for indexable local storage in the browser?对于浏览器中的可索引本地存储,我有哪些选择? 【发布时间】:2011-03-12 02:03:48 【问题描述】:

所以我真的很喜欢将 localStorage 用于 Web 应用程序,它的效果很好……如果您需要键值存储。但是,我还发现我的存储需求包括看起来像具有主键 - 外键关系的数据库表的东西。我曾希望 IndexedDB 能早点成型,但我对 doing joins (see example 4) 的不太理想的解决方案感到沮丧。

我一直很想写一个由 localStorage 支持的 B+ 树,并自己处理索引和加入;但是,我觉得这可能有点矫枉过正,原因有两个:

    这是在重新发明***,而且可能做得很糟糕。 它永远无法达到在文件级别实现的 B+ 树的性能。

我已经阅读了大量对 IndexedDB API 的批评(同样,主要针对自己滚动的连接操作)。所以,我的问题是,是否有一个 API 受主要浏览器支持,用于在本地存储表格数据(如 localStorage),专门用于通过索引进行关联?

在这里定下基调,让我明确一点:我并不是真的在寻找灵丹妙药的答案。我更希望更清楚地了解最先进的技术。

【问题讨论】:

【参考方案1】:

“对 IndexedDB 的批评”不再是个大问题,因为您的问题今天正在庆祝其一周年纪念日。至于最先进的,很难说。 Web SQL 有一个更可靠的 API,但它只是一个关系数据库。 IndexedDB 对游戏来说有点新,但它正在获得越来越多的支持。 indexedDB 的好处是您可以直接存储对象(以及索引属性等),而 Web SQL 将使您在结果集和对象之间进行转换,反之亦然。

【讨论】:

感谢您的回答,即使等了一年!

以上是关于对于浏览器中的可索引本地存储,我都有哪些选择?的主要内容,如果未能解决你的问题,请参考以下文章

对于 C# 应用程序的小型远程调试器,作为 Visual Studio 的替代品,我都有哪些选择?

并行进程的通信:我都有哪些选择?

Android 10:我都有哪些选择可以将外部存储上的文件保存到名为“/sdcard/my-app/”的目录中

浏览器中的本地存储和缓存有啥区别? [关闭]

使用 Cordova/PhoneGap/Ionic 存储数据的方法都有哪些?

html5都有哪些新特性,移除了那些元素