2024-05-10 06:05:52 发布
网友
简短问题: 是否有可用作sqlite的nosql平面文件数据库?
说明: 平面文件数据库可以在不同的进程中打开进行读取,并保留一个进程进行写入。如果不需要严格的一致性,我认为它非常适合读缓存。假设1-2秒写入文件甚至内存块,然后读卡器获得更新的数据。
所以我几乎选择使用sqlite作为python服务器的读缓存。但还有一个问题。我不想像在PostgreSql中一样,在另一个地方重写sqls,并在sqlite中构造数据表的另一个副本。
那还有别的选择吗?谢谢!
也许是shelve?它基本上是一个键值存储,您可以在其中存储python对象。http://docs.python.org/library/shelve.html
shelve
或者你可以直接使用文件系统?
一些琐碎但可行的事情,如果您正在寻找存储备份的键值数据结构,请使用pickled dictionary。如果需要,请使用cPickle以获得更好的性能。
BerkeleyDB是一个被广泛使用的嵌入式数据库,它一直存在(它最初源于BSD中包含的数据库库,因此得名),并且在许多用例中具有优异的性能特性(缓存是一个常用的用例),但它确实有一些显著的限制。
如果您想在Python中使用它,您可能需要的是externally-maintained pybsddb/^{} library,而不是Python 2.x(不再是3.x)中包含的deprecated ^{} library。
它目前归甲骨文所有,但在开源许可下可用。一定要注意许可条款——当前版本是GPLish(和GPL兼容),所以要确保它与您计划的操作兼容。
更多信息:
也许是
shelve
?它基本上是一个键值存储,您可以在其中存储python对象。http://docs.python.org/library/shelve.html或者你可以直接使用文件系统?
一些琐碎但可行的事情,如果您正在寻找存储备份的键值数据结构,请使用pickled dictionary。如果需要,请使用cPickle以获得更好的性能。
BerkeleyDB是一个被广泛使用的嵌入式数据库,它一直存在(它最初源于BSD中包含的数据库库,因此得名),并且在许多用例中具有优异的性能特性(缓存是一个常用的用例),但它确实有一些显著的限制。
如果您想在Python中使用它,您可能需要的是externally-maintained pybsddb/^{} library ,而不是Python 2.x(不再是3.x)中包含的deprecated ^{} library 。
它目前归甲骨文所有,但在开源许可下可用。一定要注意许可条款——当前版本是GPLish(和GPL兼容),所以要确保它与您计划的操作兼容。
更多信息:
相关问题 更多 >
编程相关推荐