c# - 在 Asp.net session 中存储大量数据

标签 c# asp.net session

我正在编写一个 C#/asp.net 页面,目前有很多数据(比如 100 000 个 Datetime int 对)是我在页面加载时从数据库中提取的,但是每次页面加载都加载相同的数据似乎有点愚蠢的。我考虑过将此值存储在 session 中,但多个浏览器选项卡似乎会导致问题。

是否有更好的方法来存储这些值,如果我需要支持多个浏览器选项卡,是否使用合适的 session ?

最佳答案

您的 session 占用了大量服务器内存。您可以将您的 session 存储在数据库中(这违背了目的,因为这就是您首先要将它们存储在 session 中的原因),但在字里行间阅读(为什么每个访问者需要 100,000 个唯一的日期时间对?)我认为您真的应该考虑将这些值存储在缓存中(如果它们对所有用户都相同)。

在 session 中存储 100k int 对的问题在于它可能适用于 1 或 2 个用户,甚至可能是十几个用户。但是,当您的网站流行时,它根本无法扩展。您的服务器将无法存储 500,000 个用户 session ,每个 session 包含 100k int 对。 你很快就会用完内存

关于c# - 在 Asp.net session 中存储大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15224973/

相关文章:

c# - MVVM 中央应用程序逻辑

c# - 使用 ADAL C# 作为 secret 用户/守护程序服务器/服务器到服务器 - 401 未经授权

Mono 上的 C# 用户控制?

c# - 集合 - 列表

asp.net - 在 ASP.NET 中导入模块 MSOnline 失败

c# - 如何在 asp .net 中的字符串变量中获取文件上传控件的完整路径?

c# - 使用 ASP.NET 表单例份验证,如何让图像显示在登录屏幕上?

memory - 将数据存储在内存中 : Session vs Cache vs Static

javascript - 使用 JS 调用编辑 $_SESSION

javascript - 仅显示一次弹出窗口 Jquery、PHP