我是制作游戏的新手,我正在使用 php 和 javascript 编写一个游戏来娱乐。我正在使用 MySQL 来存储游戏用户的所有信息。这个游戏有点像管理一支运动队。你有一些变量(现金、 Assets 、球员、员工等),并且你承担了体育经理的所有角色。我知道它存在,这只是个人挑战。
我的问题是,从数据库获取信息到游戏中的最佳和最有效的方法是什么? 1.我必须在每个页面上运行sql查询吗? 2. 每次更新内容时我都必须更新我的数据库吗? 3. 是否可以在用户登录时从数据库获取所有信息,让他/她玩,然后仅在 session 终止时使用新信息更新数据库?
抱歉缺少代码,只是寻找一个起点,因为在我开始编写大量游戏之前了解这一点会对我有所帮助。
谢谢
最佳答案
- 不,您不必在每次页面加载时都运行 MySQL 查询。您可以将此类查询的结果存储在缓存系统中,例如 memcached ,或将必要的数据保留在
$_SESSION
中。 - 不,您可以使用与以前类似的解决方法,但如果用户断开连接,您最终可能会看到未保存的更改。
- 好吧,您可以加载与用户相关的数据,并编写自己的 session 处理程序,以便在 session 被销毁时保存数据,但尽管我从未尝试过,但我会说有例如,如果您的服务器重新启动或由于某种原因未调用 PHP 的垃圾收集器回调,则确实存在丢失数据的风险。
总的来说,我认为您可能认为 SQL 查询比实际情况要重得多。如果您的数据库结构和索引设置正确,则完成查询和更新的时间不应超过 0.01 秒。
关于PHP游戏设计-获取数据库信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643794/