2011-05-17 55 views
1

對於登錄到我的ASP應用程序的每個用戶,他們都會從數據庫執行一些查詢。爲了降低流量,我想將它們的每個查詢結果緩存10到30秒,因此當同一用戶在持續時間內請求相同的查詢時,它們將直接從緩存中獲取結果。在ASP.NET中使用SessionID + MemoryCache安全和優秀的設計?

但是因爲是的MemoryCache gobal,我不知道如果我這樣做:

MemoryCache UserMemoryCache = new MemoryCache(MySession.SessionID); 

會認爲是安全的,這是好的設計?我應該只是緩存會話?

回答

1

會話空間可以用於這樣的目的。實際上,您所做的只是跟蹤指向數據對象/值的指針,因此創建一個新對象實例來增加開銷(授予,而不是太多),但是如果您可以使用現有基礎結構完成相同的目標(在此情況下,會議參考)然後這樣做。