我很想了解静态分页的原理
静态分页加上反向分页,有哪位高手愿意共享给小弟的.
我想要知道原理
!!!!!
作者: david
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://blog.iyi.cn/user/david
分页是网站的基本功能,forum,blog......
现在大多数网站的分页都是按照最新信息在前,陈旧信息在后的分页方式。比如第一页限时最新的内容,最后一页显示最久内容。这样的分页方式似乎很符合使用习惯。
细想一下,这样的分页程序有很多问题:
第一:针对生成静态页面的程序,如果更新的内容超过了一页,每次更新的时候都要对所有的页面重新生成,如果是小的网站没什么。对于一个有上万页内容的网站,每重建一个页面需要100毫秒,10000个页面就要1000秒,将近17分钟!实际运行中可能还要更长!对于管理员来说是多么痛苦的事情。每次这样折腾,对服务器也是相当大的考验!
第二:当你在网上搜索的时候你会发现很多搜索结果"文不对题",因为搜索引擎中的结果往往是过去几天,甚至更长时间的缓存,在一个人气旺盛的论坛当中,一天的帖子就可以达到好几页,因此几天之后当你再从搜索引擎中访问这一页的时候,你要找的内容早已被冲到好几页之后。有经验的人可能会去翻几页,如果是菜鸟哪里会明白这些。
如果采用反向分页的方式,最新的内容用最大的页码,最久的内容在第一页,上面的问题都迎刃而解。生成静态页面时只需生成最后一页,前面的内容保持不变,搜索引擎搜索到的结果当然也不会改变。
而且,这样的排序方式也是符合人的习惯的,1,2,3,4...........................10000,不正是我们看书的习惯吗?
许多优秀的代码中已经有这样的分页方式,VBulletinbbs中好像就有这样的功能,用户可以根据自己的习惯选择排序方式。