3

我已经对 HTML5 本地存储进行了一些研究,并且似乎可以镜像 MySQL 数据库的结构以用于仅需要一个人的大量数据的应用程序中。

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

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

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

更新: Web SQL 数据库的弃用让我担心。它看起来对我的情况很有吸引力;因为它使用 SQL,所以修改我的查询应该不会那么困难。现在随着对 IndexedDB 的推动,我不确定它是否会那么容易。

4

1 回答 1

1

我已经读过你的问题几次,并继续想知道“你为什么要这样做”;-) 这个问题给我带来了更多的问题,所以......

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

编辑

谷歌搜索'javascript sql解释器'会发现一些有趣的东西:

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

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

为 SQLite3 生成 JavaScript SQL 解析器(使用 Lemon?ANTLR3?)

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

于 2012-09-17T18:09:41.317 回答