2012-08-30 12 views
2

我正在嘗試決定是否要跟蹤數據庫表中的在線用戶或僅在內存中。在內存中對我來說似乎更容易,因爲如果服務器重新啓動,每次系統啓動時我都必須截斷表。同樣,我係統上的每個用戶都可以添加聯繫人(其他用戶),並且每次用戶登錄時,我都會得到他或她是朋友的用戶列表,並向他們發送信號,告知用戶在線。所以對於這樣的事情,我覺得從內存中獲取數據會更快,但是當我決定擴展時不會發生什麼。跟蹤數據庫表或內存中的在線用戶是否一個好主意?

回答

2

如果你需要更多的服務器添加到您的生產環境中,你將需要保持會話在數據庫中,因此您的在線用戶列表將需要在數據庫中,以便它可以在所有服務器共享。

+0

歡迎來到SO。 [請注意,簽名或者稱呼不應該添加到您的帖子。(http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts ) – Servy

3

這樣的事情我覺得從內存中獲取數據會快很多

過早的優化是所有罪惡,我會鼓勵你保持在數據庫中的信息和檢索的根它根據需要。然後,如果在線用戶的數量開始出現性能問題,您可以運行指標並進行更改。

+0

+1。編寫產生你想要的結果的代碼,稍後再考慮優化。請注意,很難預測這種分佈式系統在您的案例中會出現哪些確切的問題,而無需執行至少一次。 –

0

如果你開始向外擴展,你需要反正服務器之間共享這些信息,所以我把它的數據庫從一開始就。 JabbR,這是一個SignalR的參考應用程序,也這樣做,所以它不能太糟糕。

相關問題