asp.net - 您实际可以保存多少应用程序 session 数据?

标签 asp.net caching application-cache

我目前有一个应用程序,每天都会有超过 20,000 名用户点击,他们大多查看一个数据表。该数据表填充了大约 20 行,但是是从数据库中的“数据表”中提取的,表中有 200,000-600,000 条信息记录。 编辑:这 20 行是“动态的”,如果用户通过文本框输入任何信息,它们就会发生变化。

我目前还保存用户数据和个人资料数据。

目前,每次显示数据表时,我都会进行大约 4 次回调,但无法将其减少到 1 次。

问题:我想知道是否真的可以每 5 秒用 200,000-600,000 行数据填充应用程序状态,并且它实际上会加速系统吗? 编辑:对用户或任何其他用户输入的动态行进行操作,内容需要经常刷新。

问题 2:我实际上可以在应用程序缓存中保存多少内容,并且仍能保持速度更快?

编辑: 由于有超过 20,000 个用户访问这 200,000 行,我需要缓存所有这些行,或者至少我认为这是最佳实践。当用户访问我的网站时,这是他们查看的主要页面之一,每次访问可能会返回 2-5 次。

编辑:用户确实看到了一组独特的 20 行,可能与用户看到的任何其他 20 行不同。这是一个非常动态的网站,几行不同的行大约每秒更新一次。

编辑:如果存储在 session 状态中,那么它只会加快人们查看页面的次数。不是整个应用程序,因为一个人只能查看该页面一次,然后离开。

最佳答案

从技术上讲,我相信你想做的事情是可能的,但我不会推荐它。在走这条路之前,您必须考虑几个因素。

  1. 你们有硬件支持吗?如果您没有用于此类配置的内存并且必须进行页面交换,那么您可能会失去将其缓存在内存中的大部分速度优势。如果您使用进程外状态服务器,则系统会产生处理序列化的开销。

  2. 您打算如何在这么多行中搜索某些内容?数据库服务器在幕后为您处理大量搜索和排序工作。他们使用一些非常复杂的算法,如果您将数据缓存在网络服务器上,您将丢失这些算法。

对于什么时候数据库中的速度比内存中的速度更快,没有真正严格的快速规则。这实际上取决于应用程序的设置方式以及数据的存储方式。

关于asp.net - 您实际可以保存多少应用程序 session 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/150739/

相关文章:

java - 在 Android 应用程序中从远程数据库缓存值的正确方法

ios - 为 iOS 应用程序中的 UIWebView 预填充 HTML5 离线应用程序缓存

javascript - 如何确定applicationCache是​​否已在firefox中获得批准

c# - 使用授权属性验证登录用户的身份

c# - 我可以调试带有源断点的 nuget 包而不是单步执行吗?

asp.net - Windows 进程激活服务 (WAS) 在启动工作进程来为应用程序池提供服务时遇到故障

HTML5 应用程序缓存在 Firefox 11 上失败 - 适用于 Chromium

asp.net - 网站在 IE11 中无法正确显示

ajax - jstree 3.0.2 动态树总是从缓存加载数据而不是重新调用服务器

java - Guava 缓存作为 Spring ap 中基于时间的清理存储