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

c# – StackOverflow如何优化显示问题的性能?,第1张

概述我正在尝试学习C#.net来编写一个Web应用程序. 并且了解到stackoverflow使用C#.net我很高兴发现它. 我注意到在主页或问题部分,每当我刷新页面时.页面总是以可接受的速度向我返回最新信息. 我不知道你是怎么做到的.很抱歉这一系列问题很长.我试图了解数据检索,分页,性能等的最佳实践 我知道主页只返回有限数量的问题及其统计数据,但问题部分实际上返回了所有内容. 你如何优化它? >对 我正在尝试学习C#.net来编写一个Web应用程序.

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

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

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

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

你如何优化它?

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

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

你使用httpContext.Current.Server.cache来帮助吗?
>对于这些问题,这更令人感兴趣.

你怎么做分页?

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

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

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

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

>页面完全由IIS的输出缓存缓存,无论用户身份验证如何
>仅针对匿名用户缓存的页面;注册用户查看最新内容
>部分页面的HTML为每个人缓存; httpruntime.cache用于此目的

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

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

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

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

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

总结

以上是内存溢出为你收集整理的c# – StackOverflow如何优化显示问题的性能?全部内容,希望文章能够帮你解决c# – StackOverflow如何优化显示问题的性能?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1236617.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存