当前位置:  开发笔记 > 前端 > 正文

所有HTML5存储系统是否协同工作?

如何解决《所有HTML5存储系统是否协同工作?》经验,为你挑选了1个好方法。

虽然有很多关于html5的好东西,但我没有得到的一件事是redondant存储机制,首先是localstorage和sessionstorage,它们是键值存储,一个是应用程序的一个实例("一个选项卡" ),另一个适用于该应用程序的所有实例,以便他们可以共享数据.当你关闭浏览器并且大小有限(通常是5MB)时,两者都会被保存,这很好,如果我们停在那里,一切都会很好.

但是有一个"Web SQL数据库",它具有与localstorage相同的安全系统,相同的大小限制,除了它的工作原理之外的所有内容都像/ sqlite一样,具有表和sql语法以及所有这些.

糟糕的是,他们根本不会处理相同的数据!这不是两种访问数据的方式,这对于每个html 5应用程序来说真的是两个存储空间(默认情况下不是创建的,但是你仍然看到了我的观点).

我想知道的是,这两种机制同时存在的原因是什么?或者他们只是看看sql和nosql运动来挑选最好然后去"拧它让我们加两个!" ?为什么不在web sql db中实现本地/会话存储作为表?



1> Brendan Heyw..:

我认为本地存储是对cookie应该首先完成的方式的正确改写.它具有非常简单的api和低采用率.

Web SQL是一项非常重要的工作,只需保存一个简单的值就会非常痛苦,因此它们的用例非常不同.localstorage实际上是使用SQLite在WebKit中实现的,但不是通过WebSQL公开的.

会话存储无法在数据库内轻松实现,因为它实际上在全局范围内,并且您不希望数据对其他选项卡可见.因为它是瞬态数据,所以通常不想存储批次,因此不需要事务和查询.

另见:http: //www.pubbs.net/200904/webkit/28373-webkit-dev-need-help-making-windowlocalstorage-span-processes.html

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有