我的网站目前以排名的顺序显示内容,算法与此类似:排名=分数/年龄
唯一的问题是,随着添加的内容越来越多,为每个页面请求的每个内容生成内容排名是不切实际的。我们不能把排名放在数据库里,因为它每秒都在变化。
有谁有关于如何优化这一点的想法吗?
在伪代码中:
content_items = getContentFromDb();
foreach( content_items -> item ){
calRank(item);
}
sort(content_items);
foreach( content_items -> item ){
display(item);
}发布于 2011-10-03 22:10:44
这就是你现在展示问题的方式,很明显,这主要是一个缓存排名信息的问题。
如果您希望在整个场中共享计算出的排名,我建议使用简单的键/值数据库。周围有很多这样的东西,但不幸的是,我还没有在任何严肃的能力中使用过任何东西。我建议你读读NoSql,或者看看memcached,couchdb,mongodb。
然而,就目前而言,我只考虑缓存排名。句号。在必要时进行优化
https://stackoverflow.com/questions/7635888
复制相似问题