高效地存储客户端数据

2024-04-24 03:37:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个客户机-服务器应用程序,在多个客户机中分发和执行代码。它必须这样工作:

  1. 客户端连接到服务器,每分钟发送一次状态。你知道吗
  2. 服务器存储客户端IP和状态。你知道吗
  3. 有人向服务器发送要执行的代码。你知道吗
  4. 服务器搜索一个空闲的活动客户机并发送代码。你知道吗

我的问题是我能处理的客户太多。我在考虑使用列表来存储客户机对象或类似的东西,但我可以有成千上万的客户机,所以可能不是一个好主意,因为我会用尽资源。在不挂起服务器的情况下高效存储所有客户端数据的最佳选择是什么?你知道吗

抱歉,没有显示任何代码,但我在设计步骤,目前我与这个卡住了。这个项目将使用Python开发,但我不需要代码。你知道吗


Tags: 对象代码ip服务器客户端列表客户机客户
2条回答

Sqlite是一个精简的数据库存储和高效的,或者使用mongoDB(没有sql数据库),如果你不喜欢mysql

http://www.sqlite.org/

http://www.mongodb.org/

我假设它们比mysql更快。。。你知道吗

如果您只是担心没有足够的内存来保存所有Python数据,那么可以对其进行pickle处理,并跟踪ID和pickle文件Python Docs Pickle。你知道吗

另一个很好的例子是Shelve。你知道吗

这两者的好处是不必担心在SQL数据库上序列化或建模数据。你知道吗

当然,你可以把两者结合起来。Pickle数据并将结果字符串保存在数据库的字段中。这样,如果将来需要,您可以简单地添加包含元数据的列。当谈到速度时,您可以将它保存在数据库中以便可以很好地查询它,或者将它作为文件保存以消除这种“开销”。小心过早优化。你知道吗

相关问题 更多 >