2010-05-26 85 views
4

我回想起以前有關使用memcached進行會話存儲的一些想法,但得出的結論是,如果memcached池中的一個或多個服務器即將關閉,這樣做不夠。使用memcached/APC進行會話存儲?

一個混合版本是保存主要數據庫(mySQL)從讀取造成的負載將解決一個函數,試圖從緩存池中獲取數據,如果失敗從數據庫中獲取它。

經過一番思考,我開始考慮使用APC緩存來處理會話相關的數據。如果我們的Web服務器出現故障,那麼會話會丟失,因此將它們存儲在本地APC或本地主機memcached服務器中可能不是那麼糟糕?

你有什麼經驗?

回答

6

通常,會話數據在任何情況下都應該被視爲易失性數據。用戶可以隨時選擇自行刪除​​cookie(當然,如果您使用的是cookie)。出於這個原因,我認爲使用memcached來處理會話數據沒有問題。

對我來說,我只是保持簡單 - 不需要DB回退,除非絕對不能在發生memcached服務器故障時丟失用戶的會話。正如我在開始時所說的那樣,我總是把會話視爲純粹不穩定的事情,並沒有真正存儲任何有意義的內容。

這是我的兩分錢。