0
獲取當用戶登錄到我的地盤我獲取關於從數據庫用戶的一些信息:保存userinformation(用戶名,年齡等)在Server.Cache,而不是從DB
- 用戶名
- 用戶名
- 電子郵件
- 等
然後將這些信息保存到FormsAuthentication與.SetAuthCookie。
這是最快的方法來做到這一點或如果我改變,所以信息被保存到System.Cache?
獲取當用戶登錄到我的地盤我獲取關於從數據庫用戶的一些信息:保存userinformation(用戶名,年齡等)在Server.Cache,而不是從DB
然後將這些信息保存到FormsAuthentication與.SetAuthCookie。
這是最快的方法來做到這一點或如果我改變,所以信息被保存到System.Cache?
或什麼如果我改變,所以信息被保存到System.Cache?
然後全部您的網站的用戶將共享相同的信息。所以你完全不希望將用戶特定的信息存儲在Cache中。 FormsAuthentication cookie的userData部分看起來非常適合存儲某些用戶特定的信息,這些信息在所有頁面上使用以避免在每個頁面上觸擊您的數據庫。有些人可能也會推薦你使用Session,但我不是那些人的一部分。
真的嗎?即使我爲每個用戶創建新的緩存對象? 喜歡:System.Cache [「User1Info」],System.Cache [「User2Info」]等 – midnightsyntax 2013-02-16 16:12:20
不,如果你使用用戶名作爲緩存的關鍵,那就沒問題。緩存的一個缺點是默認情況下它存儲在服務器內存中。這意味着如果您的網站運行在網絡農場,則可能需要使用分佈式緩存,以便您場中的所有節點共享此信息。這可能會更難以設置。使用cookie,信息會持續存在客戶端,您不應該對此感到困擾。 – 2013-02-16 16:17:26