您实际可以拥有多少应用程序会话数据?

Spo*_*com 6 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行不同.这是一个非常动态的网站,每两行可以更新一次.

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

kem*_*002 2

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

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

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

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