本地GAE是否在硬盘驱动器运行时读取和写入本地数据存储文件?

2024-06-16 13:23:55 发布

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

我刚刚注意到,当我有一个正在运行的GAE应用程序实例时,当我使用Python代码或在管理控制台中添加或删除条目时,数据存储文件没有任何变化。我甚至可以删除文件,仍然有所有的数据安全和健全的管理区和访问代码。但是当我重新启动我的应用程序时,所有的数据显然都消失了,我有一个空白的数据存储。所以,问题是——GAE是否只有在启动时才会从文件中读取所有数据,然后在内存中进行处理,在我停止应用程序后保存数据?当应用程序运行数据存储时,它会发出任何请求吗?如果它在运行时没有将任何内容保存到文件中,那么,如果应用程序意外停止,数据可能会丢失?如果你知道它在这方面是怎么工作的,请给我讲清楚。在


Tags: 文件数据实例内存代码程序运行应用程序内容
2条回答

默认情况下,dev_appserver将把它的数据存储在一个临时位置(这就是为什么它消失了,你看不到任何变化)

如果您不希望数据在重新启动时消失,请在运行dev server时设置 datastore_path,如下所示:

dev_appserver.py  datastore_path /path/to/app/myapp.db /path/to/app

正如nick所说,dev服务器并不是为了防弹而构建的,它是为了帮助您快速开发应用程序而设计的。生产设置非常不同,在处理特殊情况时不会发生任何意外情况。在

数据存储读取和写入其底层文件的方式各不相同—标准数据存储在启动时读取,并以日志方式逐步写入,就像应用程序修改数据一样。SQLite后端使用SQLite数据库。在

不过,您不必在意—这两个后端都不是为在出现故障时具有健壮性而设计的,因为它们是开发后端。你也不应该修改或删除底层文件。在

相关问题 更多 >