如果像会话那样使用数据缓存会有更好的性能

时间:2014-01-16 12:35:48

标签: c# asp.net vb.net session-state data-caching

我正在维护一个asp.net应用程序,在那里我发现过去的开发人员已经将数据缓存实现为会话,这意味着他们将数据存储在每个会话的缓存中

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

在这个应用程序中有许多屏幕,用户可以在临时网格中添加多行(数据),实际存储在特定当前用户的缓存中,最后按保存按钮将数据保存在数据库中。

我的问题是,缓存是否像会话一样使用!它会改善性能吗? 实际上我可以在我的开发中改变它。检查性能的环境,但我们无法在环境中创建像prod这样的负载,也没有任何保证我无法在生产中更改和部署代码。

请建议我

  1. 缓存是否很好实现?
  2. 它像会话一样使用它会比会话有更好的性能吗?

1 个答案:

答案 0 :(得分:1)

需要清除缓存,否则所有项目将保留,直到应用程序域回收。例如,会话具有更短的到期时间,并且可以在注销时明确放弃。

如果您的网站增长,这可能是一个扩展问题。但是,会话的较短到期时间可能会导致您在保存时出现问题(如果在预期时不再存在)。数据库中的临时表可能是更好的方法。