我正在维护一个asp.net应用程序,在那里我发现过去的开发人员已经将数据缓存实现为会话,这意味着他们将数据存储在每个会话的缓存中
Public Function GetDataCache(ByVal dataCacheKey As String) As Object
dataCacheKey = dataCacheKey & Convert.ToString(LoginSessionDO.UserID)
Return Cache(dataCacheKey)
End Function
在这个应用程序中有许多屏幕,用户可以在临时网格中添加多行(数据),实际存储在特定当前用户的缓存中,最后按保存按钮将数据保存在数据库中。
我的问题是,缓存是否像会话一样使用!它会改善性能吗? 实际上我可以在我的开发中改变它。检查性能的环境,但我们无法在环境中创建像prod这样的负载,也没有任何保证我无法在生产中更改和部署代码。
请建议我
答案 0 :(得分:1)
需要清除缓存,否则所有项目将保留,直到应用程序域回收。例如,会话具有更短的到期时间,并且可以在注销时明确放弃。
如果您的网站增长,这可能是一个扩展问题。但是,会话的较短到期时间可能会导致您在保存时出现问题(如果在预期时不再存在)。数据库中的临时表可能是更好的方法。