在具有套接字功能的内存数据库

时间:2009-12-25 22:47:43

标签: asp.net python sqlite networking udp

Python - > SQLite - > ASP.NET C#

我正在寻找一种内存数据库应用程序,它不必将收到的数据写入光盘。基本上,我将拥有一个Python服务器,它接收游戏UDP数据并转换数据并将其存储在内存数据库引擎中。

我想远离写入光盘,因为它需要太长时间。数据并不重要,如果出现问题,它只会刷新并填满玩家发送的下一波数据。

接下来,另一台ASP.NET服务器必须能够定期通过TCP / IP连接到内存数据库中,例如每秒一次或10秒。它必须提取这些数据,然后在显示“实时”游戏数据的网站上进行更新。

我正在寻找SQlite,并且想知道,这是适合这项工作的工具,有人有什么建议吗?

感谢!!!

5 个答案:

答案 0 :(得分:1)

完全不是我的领域,但我认为Redis就是这样。

答案 1 :(得分:1)

这听起来像是一个不成熟的优化(如果你已经完成了分析,就道歉)。我建议的是继续以最简单,最干净的方式编写系统,但是在数据库位上放置一些抽象,以便可以轻松地将它们换出。然后对其进行分析并找到您的瓶颈。

如果事实证明它是数据库,则以通常的方式优化数据库(索引,查询优化等......)。如果它仍然太慢,大多数数据库都支持内存表格式。或者您可以安装RAM磁盘并在其上安装单个表或整个数据库。

答案 2 :(得分:0)

SQlite的应用取决于您的数据复杂性。

如果您需要对关系数据执行复杂查询,那么它可能是一个可行的选择。如果你的数据是平的(即不是关系的)并作为一个整体处理,那么一些python内部数据结构可能适用。

答案 3 :(得分:0)

答案 4 :(得分:0)

据我所知,SQLite不允许远程“连接”,它只支持作为进程内库调用。但是,您可以尝试使用MySQL,虽然较重,但支持远程连接并且具有内存表。 见http://dev.mysql.com/doc/refman/5.5/en/memory-storage-engine.html