使用Session Object进行缓存会不错?

时间:2017-12-25 08:16:35

标签: c# asp.net session caching

希望一切都很好。

我遇到过一个项目,早期的开发人员在ASP.Web项目中使用会话对象来缓存机制。

所以,他过去常常在会话中保存一些对象,并且由于多种原因检索它们以执行许多功能,如分页,在一行受到影响后绑定Grid。

我知道会话将在用户退出后过期

每次都会改变代码以获得新数据影响性能吗?

感谢。

2 个答案:

答案 0 :(得分:0)

默认情况下,ASP.NET会话占用服务器内存(除非在每次请求时将其保存/恢复到数据库)。虽然它可以提高页面性能,但请注意您的服务器处理来自不同用户的请求。如果在Session中为每个用户存储相当大的数据,则会占用大量服务器内存,导致内存不足。

我建议您在内存中保存数据并在每个页面请求中从数据库加载数据之间找到平衡点。例如,短的和很少修改的数据集可以存储在Session中。永远不要在Session中存储大型数据集。等等。

答案 1 :(得分:0)

Qn:每次更改代码以获得新数据都会影响性能吗? 答:一般来说,是的。因为每次需要数据时,它都会再次从真实来源获取。与直接从会话内存中获取相比,它肯定会影响性能。

深思熟虑: 使用会话存储密钥数据很有用,这取决于您使用它的方式和时间。正确使用它可以有效地完成工作 - 为什么不这样做,而错误地使用它可以解决问题,包括当你的并发用户大量使用时性能下降!缓存本身也是一个很大的话题:)