当前位置:  开发笔记 > 编程语言 > 正文

StackOverflow如何优化显示问题的性能?

如何解决《StackOverflow如何优化显示问题的性能?》经验,为你挑选了1个好方法。

我正在尝试学习C#.net来编写一个Web应用程序.

并且了解到stackoverflow使用C#.net我很高兴发现它.

我注意到在主页或问题部分,每当我刷新页面时.页面总是以可接受的速度向我返回最新信息.

我不知道你是怎么做到的.很抱歉这一系列问题很长.我试图了解数据检索,分页,性能等的最佳实践

我知道主页只返回有限数量的问题及其统计数据,但问题部分实际上返回了所有内容.

你如何优化它?

    对于主页,您是否总是获取最近问题的所有统计数据?所以你的查询类似于"按*date*创建限制20从问题顺序中选择*"?

    所以*包含所有信息,包括问题标题,身份证,观点等?

    你使用HttpContext.Current.Server.cache来帮助吗?

    对于这些问题,这更令人感兴趣.

    你怎么做分页?

    您是否始终只从数据库中获取特定页面的结果?

    或者你抓住所有结果并将其存储到数据集中?然后你使用某种数据网格控件来帮助分页?

如果是后者,您如何维护要更新的数据?



1> Jarrod Dixon..:

在Stack Overflow上,我们尝试在许多级别上使用积极的缓存:

页面完全由IIS的输出缓存缓存,无论用户身份验证如何

只为匿名用户缓存的页面; 注册用户查看最新内容

页面的部分页面为每个人缓存; HttpRuntime.Cache用于此

主页是由三个缓存HTML片段-最近的问题,最近的标签,最近徽章-每个都有不同的持续时间.

一个问题列表页面将缓存IDS(Int32[]的所有问题)特定排序/标签过滤器,使得寻呼微不足道.还完成了对统计数据的进一步缓存(例如问题计数,相关标签计数).

一个问题详细信息页面将全部缓存为匿名用户,而注册用户看到最新的产品.此外,侧面的相关问题将缓存到磁盘更长的持续时间.

虽然我们尝试尽可能地缓存整个页面,但我们确实在页面顶部显示用户信息 - 某些部分无法缓存.

所以看看缓存就像一个谜题 - 我的所有请求之间可以安全地共享哪些部分?根据费用,我的所有请求必须共享哪些部分?


直接从马口.
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有