3 回答

TA貢獻1943條經驗 獲得超7個贊
AFAIK,主要區別在于會話是每個用戶,而緩存將用于應用程序范圍的項目。
如在其他答案中所述,您可以將每個用戶的信息存儲在緩存中,只要您提供密鑰(通過會話或cookie)即可。然后,您將有更多控制權來使緩存中的項目過期,并對其設置依賴關系。因此,如果所討論的DataTable會定期更改,則緩存可能是一個適當的選擇。否則,如果是靜態會話,則可能更合適。史蒂文·史密斯(Steven Smith)有一個關于dnrtv緩存的出色視頻,值得一看。
這實際上取決于您要實現的目標,獲得的時間。關于在應用程序中存儲狀態的方式,還有其他一些可供考慮的選擇。根據表的大小,您可以考慮將狀態存儲在cookie中(如果是敏感信息,則將其加密)?;蛘撸绻菓贸绦蚍秶臄祿?,則在頁面或類上冷使用靜態字段。也有Application對象。
更新:我認為您必須問自己的關鍵問題是誰應該看到此數據。
Are they going to access the data frequently?
(不,不要打擾)。
Is it going to change?
(否,請使用靜態字段或應用程序)。
Is it acceptable for user a and user b to see the same results?
(不,將緩存與包含用戶名和搜索詞的鍵一起使用。)。
(是的,請使用搜索詞的鍵來使用緩存)。
不過,老實說,如果您的開發進度不理想,我會考慮將緩存/狀態問題推遲到以后的日期-您甚至可能不需要它。
性能調整的前三個規則是:1.測量,2.測量更多。3.再次測量...
- 3 回答
- 0 關注
- 434 瀏覽
添加回答
舉報