1

我正在编写一个小型多线程客户端 python 应用程序,其中包含一个小型 Web 服务器(仅向 localhost 提供页面)和一个守护进程。网络服务器加载数据并将其放入一个持久的“数据存储”中,守护进程处理这些数据,修改它并添加更多内容。它还应该负责与磁盘的同步。

我想尽可能避免复杂的外部事物,如 SQL 或其他数据库。

设计数据存储的好方法有哪些?如果您的解决方案仅使用标准 python,则可以加分。

4

1 回答 1

0

您正在寻找的不是太特定于 Python,因为 AFAIU 您希望在两个不同的进程之间进行通信,这些进程只是偶然用 Python 编写的。如果这确实是您的问题,您应该寻找通用解决方案,而不是特定于 Python 的解决方案。

我认为一个简单的 No-SQL 键值对数据存储(例如 Redis)对于您的情况可能是一个非常好的解决方案。与“复杂”相反,使用专门为此目的设计的工具实际上会使您的代码更简单。

如果您坚持仅使用 Python 的解决方案,请考虑使用 Python 预装的 SQLite 的 Python 绑定。一个 SQLite DB 可以被两个进程以一种安全的方式同时使用,只要你的数据访问的语义是明确定义的(即无论如何你必须解决的问题,工具无法承受)。

于 2010-07-09T09:29:27.487 回答