首页 新闻 会员 周边 捐助

我目前碰到一个很棘手的问题,目前没有半点头绪,希望达人能够给点思路。

0
悬赏园豆:100 [待解决问题]

目前本人正在做一个项目,这个项目的前台所有页面都要求输出静态页面。首页、列表页、等。现在我发现了一个很严重的问题,就是数据量一大的时候。列表页生成很慢。比如我有10W条数据。我每页显示20条。那么就有5000个页面。这只是一种排序方式。如果是N种,那么就是5000*N个页面。目前我本地测试了、生成5000个页面要将近一个小时。那数据量再大一点就很恐怖了。而且列表页最让我头痛的问题,就是你数据一更新(每一个insert delete)等。那为了保持同步,那不是要把所有的列表页都生成一次。
我试过帝国的CMS,他的生成的速度很可观,到底是用什么方式生成的?实实在在是在硬盘上写啊。为什么快这么多。
还有新浪的新闻栏目。我想知道他们到底是怎么处理的。希望有人能指点一下

我日小菜鸟的主页 我日小菜鸟 | 初学一级 | 园豆:70
提问于:2011-09-20 10:13
< >
分享
所有回答(7)
0

一般不是全部生成的,一般都是只生成未生成静态页的

artwl | 园豆:16736 (专家六级) | 2011-09-20 10:15

不是全部生成的?不会吧。

这么做的话我想过,我第一次生成1-10  第二次 11-20 这样页数就成了倒序的了。这还只是小问题,那如果根据点击数,和评论数,那么就不对了啊,这是列表页,不是单个的详细也呢。

支持(0) 反对(0) 我日小菜鸟 | 园豆:70 (初学一级) | 2011-09-20 10:18

@我日小菜鸟:

生成静态页并不是说全部静态,只是把比较费时的部分生成了静态页,评论数,点击数,评论等都是用ajax加载的,这些不是静态的

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-09-20 10:20

这个我都想过了,但是要考虑其他问题因素,第一个客户的服务器不会很大,一般是很小的。

运营商想要的结果是 搜索引擎 收录他的东西,但是要考虑服务器的问题。如果用Ajax的话。想这种网站,蜘蛛肯定会一个劲的在那里点,而却搜索引擎不止一两个啊。又不能用js写分页,这样引擎又不会收录。所有只有静态页面能够抵得住这样搞。

我想问的就是一定要生成静态页面。但是怎么能够更快

支持(0) 反对(0) 我日小菜鸟 | 园豆:70 (初学一级) | 2011-09-20 10:35

赞成你的观点是用AJAX比较好一些。

支持(0) 反对(0) 平渡飞扬 | 园豆:178 (初学一级) | 2011-09-20 11:03

你没明白我的意思  评论那些 肯定是Ajax添加。

我是说 列表页的排序 根据 时间 点击数 和 评论数 排序啊

这样添加一个数据 不是要把列表页重新全部生成一次啊?

支持(0) 反对(0) 我日小菜鸟 | 园豆:70 (初学一级) | 2011-09-20 11:18

@我日小菜鸟:

列表一般是动态从数据库中取的,这个数据量不大,一般也就几十条数据,对性能影响不大的,新浪的列表是伪静态

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-09-20 11:23
0

伪静态吧,如果访问量稍大些可以考虑加上缓存来提高性能。

I,Robot | 园豆:9783 (大侠五级) | 2011-09-20 12:06
0

学习!

华-子 | 园豆:156 (初学一级) | 2011-09-20 19:11
0

学习。

Dick.M.Qi | 园豆:205 (菜鸟二级) | 2011-09-21 08:38
0

嗯,应该是伪静态吧

忆起 | 园豆:171 (初学一级) | 2011-09-21 11:03
0

列表页还生成静态干什么,伪静态,加个缓存就行了。

niugm | 园豆:1685 (小虾三级) | 2011-09-21 15:12
0

把不经常变化的用静态页的形式展现,经常变化的用Ajax请求的方式,进行局部刷新。

追梦蝶(zmz) | 园豆:151 (初学一级) | 2011-10-10 18:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册