2016-11-01 29 views
0

我注意到,如果在服務器上沒有任何活動,它會關閉並在有新活動時再次啓動,因此之前的任何狀態都會消失。Heroku - 如何保存狀態

例如,我有一個關聯用戶列表,他們輸入了用戶名,如果一段時間沒有任何活動,列表將被清空。

在Heroku上保存狀態的建議方法是什麼?

會每隔幾分鐘將狀態序列化到文件的工作?我甚至對Heroku有寫權限嗎?

+0

因爲Heroku文件系統是[短暫的](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem),序列化到文件將不起作用。這很好,因爲它可以確保您的應用運行方式的一致性。 – codefinger

回答

1

你的HTTP服務器應該是無狀態的 - 任何重要的東西都應該存儲在別的地方,比如數據庫。

+0

數據庫在哪裏?另外,我認爲一個sql數據庫或類似的東西對於那個小型服務器來說是一種矯枉過正,所以有可能將數據放在服務器上的一個文件中? – shinzou

+0

@kuhaku你會將它綁定到你的實例; Heroku有幾十種這樣的服務。你應該期望你的服務器在任何時候都被銷燬並重新創建。 – chrylis

+0

如果您需要存儲文檔(如您提到的文件),您可以使用[NoSQL數據庫](https://elements.heroku.com/addons/mongolab)。但這並不過分。如果你有重要的狀態,它需要進入數據庫。 – codefinger