我有大約100萬用戶的Web應用程序。幾乎應用程序中的每個網頁都會調用GetUser()方法(加載活動流中的名字和其他用戶詳細信息)。 現在我正在爲每次調用敲擊數據庫,並且正在考慮緩存內存中的所有用戶,並使用Linq從那裏獲取搜索結果或GetUser()。
我唯一的問題是是否緩存所有用戶(在內存中)是一個好主意。我會浪費我的RAM嗎? 我個人認爲從RAM中讀取數據比從數據庫讀取要快得多(即使數據庫已經過優化和索引)。
請注意,我已經處理了緩存驗證/更新/等。
是否stackoverflow緩存其所有用戶?
它是一個網絡農場嗎? – Paparazzi
是不是這個問題是一樣的http://stackoverflow.com/questions/11124273/linq-performance-for-in-memory-collection/11124548#11124548 –
你在說多少用戶數據?如果它只是用戶名和其他一些字段,你可以考慮將它序列化到auth cookie中,然後在需要時從數據庫中延遲加載完整的用戶數據。 – Nathan