我将处理一个变化缓慢的大型数据集,因此我希望通过使用缓存机制来优化查询结果时间。例如,如果我想查看有关过去360天数据的一些指标,我不需要再次查询数据库,因为我可以重复使用上一个查询结果。 MongoDB本身是否支持缓存,或者我是否必须使用其他数据库,例如提到的Redis here
编辑:我的问题与Caching repeating query results in MongoDB不同,因为我询问了外部缓存系统,并且后期问题中的响应特定于使用MongoDB和Tornado
答案 0 :(得分:0)
Motor(MOngo + TORnado)软件包的作者提供了一个缓存其类别列表的示例:http://emptysquare.net/blog/refactoring-tornado-code-with-gen-engine/
基本上,他定义了一个全局的类别列表,并查询数据库以填充它;然后,每当他需要他的页面中的类别时,他检查列表:如果它存在,他使用它,如果不存在,他再次查询并填写它。他设置为无论何时插入数据库使列表无效,但根据您的使用情况,您可以创建一个全局超时变量来跟踪下次需要重新查询的时间。如果你正在做一些复杂的事情,这可能会失控,但如果它只是一个最近的帖子列表,我觉得没关系。