3 回答

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