python – 非阻塞“数据库”(使用TCP套接字服务器)有什么好的选择

简而言之,我正在创建一个套接字服务器,因此我可以为我的Flash游戏添加多人游戏支持(在Client-End上使用Actionscript 3.0二进制套接字).

我决定使用Python,因为我是游戏/服务器的唯一开发者,这将是我的第一个非阻塞套接字服务器.我打算使用Twisted,但我表示我会使用Python的asyncore(异步套接字处理程序).

如果我没弄错,连接到传统数据库是一个阻塞过程.由于我试图使其成为一个非阻塞服务器,我很好奇可以使用哪些解决方案来保存永久游戏相关数据?

最佳答案
我建议你使用你喜欢的任何数据库(sqlite附带Python,可能会很好用!):只需要一个访问所述数据库的专用线程,从Queue获取请求(并使用另一个队列,作为请求的一部分传入,如果需要,返回结果).如果你的数字很小,那么线程并不是那么糟糕,它们永远不会共享任何非只读的结构或系统的访问权限,只能通过队列进行通信(本质上是线程安全的).

转载注明原文:python – 非阻塞“数据库”(使用TCP套接字服务器)有什么好的选择 - 代码日志