【问题标题】:storing data in server memory for website access将数据存储在服务器内存中以供网站访问
【发布时间】:2013-08-31 03:10:58
【问题描述】:

我正在开发一个网站,该网站有一个相当大的数据库存储在内存中。因为我还不明白该怎么做,所以当访问页面时,会读取数据库并将某些数据存储在内存中,以便在用户在页面上时获得更快的性能。我不喜欢它的是页面初始渲染期间的延迟。

我确信当该特定页面未加载时,有一种方法可以将数据保存在内存中,但我不知道该怎么做,而且我还没有使用 Google 大学取得任何成功(搜索)。谁能推荐一个链接或搜索词来帮助我找出我需要知道的内容?

谢谢大家。

【问题讨论】:

标签: asp.net


【解决方案1】:

将其存储在缓存中。当它从数据库和缓存中读取时,您仍然会遇到首次加载缓慢的问题,但这是无法避免的。您可以将它放在 Application_Start 事件中,以保证它在应用程序第一次加载时发生。

http://msdn.microsoft.com/en-us/library/dd997357.aspx

【讨论】:

  • 第一次加载是指应用程序第一次运行时,还是每次新用户访问网站时?
  • 我的意思是每次有新用户访问该网站。当调用 Page_Load 事件时,数据库被加载到一个 trie 集合中。
  • 如果每个用户的结果都不同,您可以将所有相关数据加载到内存中(假设不是数百万行),然后在内存中查询用户特定的数据。或者,您可以尝试通过在 where 子句中的列上添加索引来加速您的数据库。
  • 我需要以另一种形式保存的数据(缓存听起来不错)是一个仅供参考的字典——在这种特殊用法中它永远不会改变。
  • 然后在 Application_Start 上加载它。该网站的第一个用户会很慢,然后会很快。如果您的应用不经常使用,您可以将 App Pool Recycle 从默认的 20 分钟更改为更长的时间(一旦应用被回收,您的缓存也会消失)。
猜你喜欢
  • 2020-09-21
  • 2012-08-09
  • 1970-01-01
  • 2013-06-21
  • 2018-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多