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

问题描述 投票:0回答:2

希望一切都很好。

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

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

我知道会话将在用户注销后到期

将每次更改代码以获得新数据影响性能?

谢谢。

c# asp.net session caching
2个回答
0
投票

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.