【发布时间】:2013-01-09 18:02:51
【问题描述】:
我将构建一个旨在“查看”很多的页面,但很少有用户会“写入”到数据库中。例如,每 100 个用户中只有 1 个可以在我的网站上发布他的新闻,其余的只会阅读新闻。
在上述情况下,当他们访问我的主页时,将执行 100 个 SAME QUERIES,而实际的数据库更改很少。实际上,其中 99 个查询是对计算机能力的浪费。有没有什么方法可以缓存第一个查询的结果,在短时间内检测到同一个查询时,可以把缓存的结果传递出去?
我使用 MongoDB 和 Tornado。但是,有些帖子说 MongoDB 不做缓存。
不推荐使用 Nginx 之类的静态缓存 HTML,因为我想每次都通过 Tornado 呈现个性化页面。
【问题讨论】: