使用HTML5本地存储镜像MySQL数据库架构以进行查询

时间:2012-09-17 16:24:23

标签: php mysql html5 local-storage abstraction

我已经对HTML5本地存储做了一些研究,似乎有理由我可以镜像MySQL数据库的结构,以便在只需要一个人的大量数据的应用程序中使用。

我为什么要这样做?在业余时间,我是一名网页游戏开发人员:PHP,MySQL,以及所有打扮它的技术。到目前为止,我已经建立了支持许多玩家的数据库,但我的游戏旨在成为“具有多种功能的单人游戏”。对于只打算单人游戏的游戏,除非他们保存到网络服务器,否则即使有数据库连接也没有意义!

我希望实现一个永远不会触及我的数据库的单人模式,并且可以离线使用。但是,所有这些背后的代码仍将是SQL查询。理想情况下,我想我可以设置一种本地存储的抽象层来响应查询。

简而言之,我想知道那里有什么。搜索本地存储和HTML5将为您提供有关技术的无尽帖子,但我不确定我的想法是否会运作良好,甚至应该尝试。同样,可能已经有框架可以轻松处理这个问题。我还没找到。

更新:弃用Web SQL数据库让我很担心。它看起来对我的情况非常有吸引力;因为它使用SQL,修改我的查询不应该那么困难。现在推动IndexedDB,我不确定它会如此简单。

1 个答案:

答案 0 :(得分:1)

我现在已经读了几次你的问题并继续怀疑'你为什么要这样做';-)这个问题给我带来了更多问题,所以...

“大量数据”是什么意思?最终,在这种情况下,sql比喻是否恰当?可以响应'sql-like'查询的抽象层本身很有趣,但听起来非常复杂。一个更简单的解决方案可以完成这项工作,就像JSON对象一样吗?在用户清理缓存,历史记录,重新安装浏览器等情况下,如何保留数据?即使是复杂的javascript文字或JSON对象也可以提供偶尔持久/备份和恢复的非常直接的方法。 (有趣的是,刚发布的PostgreSql 9.2包含JSON作为数据类型。可能是SQL和NoSql会倾向于某些共同点吗?)抱歉,如果这更像是一个评论而不是一个答案,那么你的问题就出现了更高的飞机。

修改

谷歌搜索'javascript sql interpreter'出现了一些有趣的东西:

http://www.terminally-incoherent.com/blog/2009/05/19/sql-emulation-tool-in-javascript-part-2/#comments

https://github.com/forward/sql-parser#readme

Generating a JavaScript SQL parser for SQLite3 (with Lemon? ANTLR3?)

http://jsdb.sourceforge.net/demo.html