2010-09-21 94 views
0

我聽到一箇舊的stackoverflow播客,他們最小化了會話的使用,並且他們基本上只在發佈時需要它。怎麼可能?如果只是說明我已登錄,那麼他們不需要在每個頁面視圖上使用某種形式的會話嗎?他們還會如何顯示您的用戶名,而不是屏幕頂部的「登錄」提示?安全地知道你已經登錄,沒有使用會話

當這種類型的事情變得重要時,是當你將會話保存在數據庫中時。現在,每次觸摸會話存儲時,都會觸摸數據庫。所以如果你能避免它會很好。

您可以將所有狀態存儲在cookie中,但如果您關心安全性,那麼您可能希望控制服務器上的狀態。

回答

2

我不知道你指的是播客,但我真的不知道他們在說什麼,你以爲他們在說什麼......

會話數據並不一定是每次觸摸時都會寫入數據庫。你可以很容易地使用緩存(使用memcached或類似的)中介。然後,您可以將會話數據寫入數據庫,每X請求/分鐘/寫入/無論如何。

+0

據我所知,memcached不是完全可靠的,不應該以與主數據不同的方式使用。換句話說,它應該只是一個緩存,而不是更多。所以你說得對,這對於讀取來說是可以的。寫入應該寫入緩存和持久數據存儲。無論如何,這仍然要求您在登錄時爲每個頁面維護狀態,對吧? – 2010-09-21 05:35:15

+0

我認爲這是答案,理解你顯然需要爲登錄用戶維護某種狀態。我想這是可以避免的一廂情願的想法。 – 2010-09-23 16:13:44

相關問題