我目前正在开发使用MySQL进行存储的游戏服务器。
问题是:如果我将MySQL Connection留空,我认为它会导致超时?
如果是,那么关闭连接空闲超时是明智的吗? 或者也许我应该在每个查询之前检查一下连接是否已经关闭并再次打开它?
然后又出现了另一个问题:我应该使用异步方法还是创建负责MySQL的新线程,以便不暂停主线程,因为玩家之间的所有同步都会被中断?
答案 0 :(得分:0)
这取决于您的服务器设置,但您必须预期MySQL连接最终将因空闲而终止。在他们被认为死亡之前经过的时间差别很大。
此处的常规做法是使用连接池,通过创建新连接并重试查询,从连接相关错误中自动恢复。
如果您在关闭的连接上运行,大多数数据库驱动程序将返回一个非常特定的异常。这些可以被捕获和处理。