【发布时间】:2012-10-25 08:24:38
【问题描述】:
对于两人游戏,我需要每 30 秒向玩家发送更新数据。
我有一个表(最好是 4 个表),我需要从中选择数据并在用户登录后发送给他/她。由于是多人互动游戏,数据需要每30-60秒同步一次。
我的问题是,我每 30-60 秒运行一次非常繁重的查询。所以理想情况下,我应该在同步期间只向玩家发送更新的和新的行(这也是 iPhone/Android 游戏的前端要求,应用程序不希望在每次同步操作期间都需要全部数据)。
我浏览了MySQL: difference of two result sets,希望我只能通过 SQL 获取更新/新记录,但问题是,如何保存上次查询的结果。
即使我将第一个结果保存在 Session 中(可能不推荐),只要插入或更新新行,该记录也将毫无用处。再次更新会话记录肯定会给服务器带来很大的压力。
有人可以建议实现此要求的最佳方法吗?没有详细的解决方案,只是一些提示/链接就足够了。
【问题讨论】:
-
那么你的问题是什么?您需要每 30-60 秒从数据库中输出一次值吗?
-
@Eritrea 第一次是;在第一次之后,只有上次查询后添加/更新的差异数据。
-
当您将数据插入 SQL 时,请确保您也包含时间,然后如果您想输出数据,只需执行查询以按时间返回值(这意味着,显示数据库中最后提交的数据)
标签: php mysql session symfony-1.4 session-state