我注意到,如果在服務器上沒有任何活動,它會關閉並在有新活動時再次啓動,因此之前的任何狀態都會消失。Heroku - 如何保存狀態
例如,我有一個關聯用戶列表,他們輸入了用戶名,如果一段時間沒有任何活動,列表將被清空。
在Heroku上保存狀態的建議方法是什麼?
會每隔幾分鐘將狀態序列化到文件的工作?我甚至對Heroku有寫權限嗎?
我注意到,如果在服務器上沒有任何活動,它會關閉並在有新活動時再次啓動,因此之前的任何狀態都會消失。Heroku - 如何保存狀態
例如,我有一個關聯用戶列表,他們輸入了用戶名,如果一段時間沒有任何活動,列表將被清空。
在Heroku上保存狀態的建議方法是什麼?
會每隔幾分鐘將狀態序列化到文件的工作?我甚至對Heroku有寫權限嗎?
你的HTTP服務器應該是無狀態的 - 任何重要的東西都應該存儲在別的地方,比如數據庫。
數據庫在哪裏?另外,我認爲一個sql數據庫或類似的東西對於那個小型服務器來說是一種矯枉過正,所以有可能將數據放在服務器上的一個文件中? – shinzou
@kuhaku你會將它綁定到你的實例; Heroku有幾十種這樣的服務。你應該期望你的服務器在任何時候都被銷燬並重新創建。 – chrylis
如果您需要存儲文檔(如您提到的文件),您可以使用[NoSQL數據庫](https://elements.heroku.com/addons/mongolab)。但這並不過分。如果你有重要的狀態,它需要進入數據庫。 – codefinger
因爲Heroku文件系統是[短暫的](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem),序列化到文件將不起作用。這很好,因爲它可以確保您的應用運行方式的一致性。 – codefinger