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