论坛设计问题,缓存问题???

06-01-04 aill
论坛有下面几个页面,

主页面:显示所有板块,板块里的贴子总数,回复总数,最后回帖,最后回复人等

这里除了板块名外其他的都是动态的,如果每次显示的时候都从数据库计算贴子总数,获取最后回复人等

那可能效率很低.

所以考虑在板块表里增加贴子总数,回复总数,最后回帖,最后回复人等几个相关列

这样只需要在有新的贴子和回复的时候更新板块的这些内容.

因为读的频率肯定大大高于发帖和回复的频率,所以这样应该能提高效率

贴子列表页面:同上,考虑把贴子的回复数,更新时间等内容添加到 贴子的数据表中

最后一个页面是:贴子内容页面----这个也是我比较头痛的一个

在贴子内容里要显示,贴子作者和回复作者的详细信息,例如,昵称,经验,积分,发帖数等;这些内容也基本是动态的,但是这些内容如果放到 贴子的数据表里,那么每次这些内容发生变化的时候都要刷新所有自己发的贴子和回复,显然这样是不可以的;

那只有显示的时候再根据贴子或者回复的作者从数据库获取用户的基本信息;

假设贴子内容,每页显示5个回复,那至少要读8次数据库(1读贴子内容

1获取五个最新回复 1获取贴子作者信息 5分别获取五个回复人的信息)

我也考虑过把用户基本信息放到缓存里,但是因为服务器性能不是很好,不能放太多,那样的话,命中率就不是很高

不知道大虾们是怎么考虑的?

banq
2006-01-04 20:58
这篇文章对你有参考,正是解决你这样的问题:

http://www.jdon.com/artichect/state.htm

如果你还有什么问题,我们在这里继续讨论

猜你喜欢