我在大型数据库上的Python中进行一些查询,以从数据库中获取一些统计信息。我希望这些统计信息在内存中,以便其他程序可以使用它们而无需进入数据库。
我在考虑如何构造它们,并尝试设置一些复杂的嵌套字典后,我意识到一个好的表示形式将是一个SQL表。不过,我不想将数据存储回持久数据库中。是否有支持使用SQL语法查询数据的SQL数据库的内存实现?
SQLite3可能有效。Python接口确实支持SQLite3 C API提供的内存中实现。
从规格:
您还可以提供特殊名称:memory:在RAM中创建数据库。
交易也相对便宜,具体取决于您在做什么。要开始,只需:
import sqlite3 conn = sqlite3.connect(':memory:')
然后,您可以像使用常规数据库一样继续进行。
根据您的数据- 如果可以通过键/值(字符串,哈希,列表,集合,排序集合等)获取数据-Redis可能是另一种可供探索的选择(正如您提到的要与其他程序共享)。