我剛剛注意到,當我有GAE應用程序的運行實例時,使用Python代碼或管理控制檯添加或刪除條目時,數據存儲區文件沒有任何反應。我甚至可以刪除該文件,並且仍然可以在管理區域中安全無虞地訪問所有數據,並且可以從代碼訪問這些數據但是當我重新啓動我的應用程序時,所有數據顯然都消失了,並且我有一個空白的數據存儲區。所以,這個問題 - GAE是否只在啓動時從文件中讀取所有數據,然後在內存中處理它,在停止應用程序後保存數據?它在應用程序運行時是否向數據存儲文件發出任何請求?如果它在運行時沒有保存任何文件,那麼,如果應用程序意外停止,可能數據可能會丟失?如果你知道它在這方面的工作原理,請告訴我。本地GAE在運行時是否讀取和寫入硬盤上的本地數據存儲文件?
0
A
回答
3
數據存儲如何讀取和寫入其底層文件的方式各不相同 - 標準數據存儲在啓動時讀取,並在應用程序修改數據時逐漸寫入日誌樣式。 SQLite後端使用SQLite數據庫。
儘管如此,您不應該在意後端,因爲它們都是發展後端,所以後端在面對失敗時都不具備穩健性。您不應該修改或刪除底層文件。
1
默認情況下,dev_appserver
將存儲在一個臨時位置,它的數據(這就是爲什麼它消失,你看不到任何改變)
如果你不想讓你的數據消失在重新啓動設置--datastore_path
時運行你的開發服務器,如:
dev_appserver.py --datastore_path /path/to/app/myapp.db /path/to/app
尼克說,開發服務器沒有內置到刀槍不入,它旨在幫助您快速開發應用程序。生產設置非常不同,在處理特殊情況時不會出現任何意想不到的情況。
相關問題
- 1. AngularJS $ templateCache在本地硬盤上存儲數據
- 2. Android:是否在本地存儲數據?
- 3. 數據存儲在本地主機上,但不在gae數據存儲上?
- 4. Windows存儲將數據量讀取寫入硬盤驅動器
- 5. 運行本地存儲的Docker文件
- 6. 是否可以在用戶的本地硬盤上存儲SQL Server表?
- 7. 運行的本地GAE
- 8. 如何使用C#打印存儲在本地硬盤上的文件?
- 9. 從本地磁盤讀取文件
- 10. 在本地機器上讀取/寫入文件
- 11. 如何創建GAE數據存儲的本地副本?
- 12. Git本地存儲庫和恢復硬盤驅動器崩潰後的文件
- 13. 將數據寫入本地JSON文件
- 14. 映射器何時將其輸出存儲到本地硬盤?
- 15. 本地JavaScript - 寫入本地文件
- 16. 是更好地在本地存儲數據,或從網上
- 17. 無法讀取其儲存在本地
- 18. 將JSON文件中的數據存入本地存儲
- 19. iTextSharp從硬盤讀取pdf模板並寫入文本
- 20. 網頁數據文件是否存儲在本地一段時間?
- 21. Outlook msg文件存儲在本地磁盤,如何用delphi讀取
- 22. 是否可以在本地計算機上運行.php文件?
- 23. 將SPFile保存到本地硬盤
- 24. 讀取和保存本地文件上的ActionScript3 IOS
- 25. ipad:運行本地網站和存儲數據
- 26. GAE在本地對象存儲中更改數據
- 27. 訣竅在成本彙編之間更快地從硬盤中讀取數據
- 28. 當容器運行時,Docker從本地系統讀取文件
- 29. 存儲本地數據
- 30. 讀取和寫入文本文件
開發服務器不反映您的應用程序在生產GAE服務器上的運行方式,如果這是您所擔心的問題? – 2011-03-30 12:52:10