我正在大型数据库中在Python中进行一些查询,以从数据库中获取一些统计信息。我希望这些统计数据是内存的,因此其他程序可以使用它们而无需进入数据库。

我在想如何构造它们,并在尝试设置一些复杂的嵌套词典后,我意识到一个好的表示形式将是SQL表。不过,我不想将数据存储回持续数据库。是否有支持使用SQL语法查询数据的SQL数据库中的内存实现?

有帮助吗?

解决方案

sqlite3可能起作用。 Python界面 确实支持 SQLITE3 C API提供的内存实现。

从规格:

您还可以提供特殊名称:内存:在RAM中创建数据库。

根据您的工作,它的交易也相对便宜。开始,只有:

import sqlite3
conn = sqlite3.connect(':memory:')

然后,您可以像使用常规数据库一样继续进行。

取决于您的数据 - 如果您可以使用键/值(字符串,哈希,列表,集合,排序集等) - Redis 可能是探索的另一个选择(正如您提到的那样,您想与其他程序共享)。

其他提示

我想,SQLite3将是最好的选择。

如果可能的话,看看 备忘录. 。 (对于钥匙值对,快速照明!)

更新1:

HSQLDB 对于SQL喜欢表。 (没有python的支持)

您可能会使用类似的数据库 sqlite. 。它不是严格地说在内存中说的,但它很轻,将与您的主数据库完全分开。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top