有没有和sqlite一样的nosql平面文件数据库?

2024-05-10 06:05:52 发布

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

简短问题: 是否有可用作sqlite的nosql平面文件数据库?

说明: 平面文件数据库可以在不同的进程中打开进行读取,并保留一个进程进行写入。如果不需要严格的一致性,我认为它非常适合读缓存。假设1-2秒写入文件甚至内存块,然后读卡器获得更新的数据。

所以我几乎选择使用sqlite作为python服务器的读缓存。但还有一个问题。我不想像在PostgreSql中一样,在另一个地方重写sqls,并在sqlite中构造数据表的另一个副本。

那还有别的选择吗?谢谢!


Tags: 文件数据内存服务器数据库sqlite进程postgresql
1条回答
网友
1楼 · 发布于 2024-05-10 06:05:52

也许是shelve?它基本上是一个键值存储,您可以在其中存储python对象。http://docs.python.org/library/shelve.html

或者你可以直接使用文件系统?

网友
2楼 · 发布于 2024-05-10 06:05:52

一些琐碎但可行的事情,如果您正在寻找存储备份的键值数据结构,请使用pickled dictionary。如果需要,请使用cPickle以获得更好的性能。

网友
3楼 · 发布于 2024-05-10 06:05:52

BerkeleyDB是一个被广泛使用的嵌入式数据库,它一直存在(它最初源于BSD中包含的数据库库,因此得名),并且在许多用例中具有优异的性能特性(缓存是一个常用的用例),但它确实有一些显著的限制。

如果您想在Python中使用它,您可能需要的是externally-maintained pybsddb/^{} library,而不是Python 2.x(不再是3.x)中包含的deprecated ^{} library

它目前归甲骨文所有,但在开源许可下可用。一定要注意许可条款——当前版本是GPLish(和GPL兼容),所以要确保它与您计划的操作兼容。

更多信息:

相关问题 更多 >