0

我正在维护一个 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. 它像会话一样使用它会比会话有更好的性能吗?
4

1 回答 1

1

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

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

于 2014-01-17T08:14:35.283 回答