PHP游戏设计-获取数据库信息

标签 php mysql database

我是制作游戏的新手,我正在使用 php 和 javascript 编写一个游戏来娱乐。我正在使用 MySQL 来存储游戏用户的所有信息。这个游戏有点像管理一支运动队。你有一些变量(现金、 Assets 、球员、员工等),并且你承担了体育经理的所有角色。我知道它存在,这只是个人挑战。

我的问题是,从数据库获取信息到游戏中的最佳和最有效的方法是什么? 1.我必须在每个页面上运行sql查询吗? 2. 每次更新内容时我都必须更新我的数据库吗? 3. 是否可以在用户登录时从数据库获取所有信息,让他/她玩,然后仅在 session 终止时使用新信息更新数据库?

抱歉缺少代码,只是寻找一个起点,因为在我开始编写大量游戏之前了解这一点会对我有所帮助。

谢谢

最佳答案

  1. 不,您不必在每次页面加载时都运行 MySQL 查询。您可以将此类查询的结果存储在缓存系统中,例如 memcached ,或将必要的数据保留在$_SESSION中。
  2. 不,您可以使用与以前类似的解决方法,但如果用户断开连接,您最终可能会看到未保存的更改。
  3. 好吧,您可以加载与用户相关的数据,并编写自己的 session 处理程序,以便在 session 被销毁时保存数据,但尽管我从未尝试过,但我会说有例如,如果您的服务器重新启动或由于某种原因未调用 PHP 的垃圾收集器回调,则确实存在丢失数据的风险。

总的来说,我认为您可能认为 SQL 查询比实际情况要重得多。如果您的数据库结构和索引设置正确,则完成查询和更新的时间不应超过 0.01 秒。

关于PHP游戏设计-获取数据库信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643794/

相关文章:

php - mysql中前3个最大值的序列不正确

mysql - 创建 mysql 表的列时如何赋值?

python - 数据库存储 : Why is Pipeline better than Feed Export?

sql-server - 如何给用户只选择数据库的权限

java - CreateProcess error = 5,在java中使用processbuilder备份mysql数据库时访问被拒绝

javascript - 验证不适用于动态添加的字段?

php - 如何使用 PHP 解压 .gz 文件?

php - 从 mysql 表中选择最新元素

php - 使用 MySQL 套接字文件的自定义位置设置 PHP - mysql.default_socket 与 MYSQL_SOCKET

java - 使用 PHP 连接到 MySQL 数据库进行 Android 开发