Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从以自定义格式保存的数据或持久数据库重新加载守护程序状态的最佳方法?_Python_Database_Daemon_Persistent Object Store - Fatal编程技术网

Python 从以自定义格式保存的数据或持久数据库重新加载守护程序状态的最佳方法?

Python 从以自定义格式保存的数据或持久数据库重新加载守护程序状态的最佳方法?,python,database,daemon,persistent-object-store,Python,Database,Daemon,Persistent Object Store,我有一个无限进程在运行,每天结束时,它基本上都会写入一个文件,并用更新的数据填充内部对象 它运行在Ubuntu上,用Python编写 如果进程崩溃/重新启动等,请告知恢复数据的最佳方法 我应该读取到目前为止生成的所有文件,并更新新创建的对象,使其具有所有可用的备份信息,还是应该将数据保存在DB之类的东西中?我发现模块非常适合于状态—它提供了更好的api和略多于一个简单的pickle—非常适合(传统的)数据库似乎有些过分。请在帖子中指出以下内容:操作系统、语言、数据访问代码类型(二进制/xml/数

我有一个无限进程在运行,每天结束时,它基本上都会写入一个文件,并用更新的数据填充内部对象

它运行在Ubuntu上,用Python编写

如果进程崩溃/重新启动等,请告知恢复数据的最佳方法


我应该读取到目前为止生成的所有文件,并更新新创建的对象,使其具有所有可用的备份信息,还是应该将数据保存在DB之类的东西中?

我发现模块非常适合于状态—它提供了更好的api和略多于一个简单的pickle—非常适合(传统的)数据库似乎有些过分。

请在帖子中指出以下内容:操作系统、语言、数据访问代码类型(二进制/xml/数据库)。说明为什么需要恢复数据,而不是简单地重新开始。然后说你试过什么,为什么不起作用或者你不喜欢。你的两个建议看起来都是不错的选择,但是如果没有更多的信息,我们真的帮不了你。在任何情况下,对您的问题的任何回答都必须是意见问题——这在stackoverflow的问题中是不受欢迎的,因为它只会在喜欢或不喜欢数据库的人之间发生争执。请给出一些选择答案的标准-例如编程容易程度、重新加载速度。您可能希望指出数据的大小和复杂性(甚至结构)。感谢您的更新。操作系统将是ubuntu,编程语言是Python。日常数据将填充在Python对象中。因此,对于每个更新,我们将进行对象查找和更新。如果由于obj丢失而导致进程崩溃,我们可能会尝试文件读取/DB查找并更新新对象。您不能“转储”吗相关对象(如Python)的状态会将Pickle保存到文件系统中,然后提供一些恢复机制,以便在崩溃时重新读取Pickle?哪一个更快?cPickle或Shelve,并且易于维护?我会在Shelve的Pickle api操作系统被抽象出来时将其搁置。