2014-01-16 19 views
0

我正在維護一個asp.net應用程序,我發現前面的開發人員像會話一樣實現了數據緩存,這意味着他們將數據存儲在緩存中會議這樣如果像會話一樣使用數據緩存會有更好的性能

Public Function GetDataCache(ByVal dataCacheKey As String) As Object 
    dataCacheKey = dataCacheKey & Convert.ToString(LoginSessionDO.UserID) 
    Return Cache(dataCacheKey) 
End Function 

在這個應用中有很多的屏幕,其中用戶可以在臨時網格實際上在高速緩存中存儲特定的當前用戶只有最後按下Save按鈕保存數據,添加多行(數據)數據庫。

我的問題是如果緩存像會話一樣使用!它會提高性能嗎? 其實我可以在我的開發中改變它。環境來檢查性能,但是我們不能在我們的環境中創建像prod這樣的負載,也沒有任何保證,我不能在生產環境中更改和部署代碼。

請建議我

  1. 是緩存是好其實現的方式?
  2. 它使用像會議會比會議有更好的表現嗎?
+1

可能是,但很難說。數據量有多大,有多少用戶是經常使用的,它經常發生變化,是否被正確刪除,數據庫查詢是快速填充還是慢速填充...... –

+0

數據存儲在用戶特定的緩存中。只有一個用戶可以訪問存儲在系統中的數據,所以如果在系統中有50個用戶當前登錄,那麼50個緩存對象將爲特定頁面創建,如果所有頁面都在同一頁面上......所以這樣會話變量將是好還是緩存?平均每個網格有5-10列10到40列的記錄 –

回答

1

緩存將需要清除,否則所有項目將保留,直到應用程序域回收。例如,會話的到期時間要短得多,並且可以在註銷時明確放棄。

這可能是一個縮放問題,如果您的網站增長。但是,會話的更短的到期時間可能會導致您在保存時遇到問題,如果預期不再存在。數據庫中的臨時表可能是更好的方法。