Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1143186
  • 博文数量: 141
  • 博客积分: 3161
  • 博客等级: 中校
  • 技术积分: 3011
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-27 14:53
文章存档

2012年(28)

2011年(113)

分类:

2011-09-29 11:01:18

构建高性能ASP.NET站点之三 细节决定成败

 

  前言:曾经就因为一个小小的疏忽,从而导致了服务器崩溃了,后来才发现:原来就是因为一个循环而导致的,所以,对“注意细节“这一说法是深有感触。

 

本篇的议题如下:

问题的描述

细节的重要性

 

  问题的描述

 

  首先,描述一下故事的背景:(希望大家耐心的故事读完)

  在网站中,网页中的分页控件每次显示10条数据,每次点击下一页,就再次去取下一个10条数据。至于分页的方法怎样做,方法有很多,相信这点大家都知道。

 

  过程是这样的:在用户请求数据的时候(考虑到了用户的操作和网站的访问量)我会第一次取出500条数据,然后把数据放在缓存中,也就是说,我取出了50页的数据,放在缓存中,这样如果,以后用户请求第一页到第49页的时候,就直接从缓存中拿数据。

  如下图:

  

 
  第一个数据块:

 

  采用键值对的形式:字典保存

 

 

  如果用户请求到了49页以后,那么就再次从数据库中取出下一个数据块(包含5011000数据),然后,现在内存中就有了1000条数据。

 

  至于缓存多久,数据什么失效,失效后怎么做,这里暂不谈论。(网站在这种缓存策略下运行的很好)。 

  代码如下:

 

阅读(697) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~