Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MongoDB中缓存查询结果_Mongodb_Caching_Redis - Fatal编程技术网

在MongoDB中缓存查询结果

在MongoDB中缓存查询结果,mongodb,caching,redis,Mongodb,Caching,Redis,我将处理一个变化缓慢的大型数据集,因此我希望通过使用缓存机制来优化查询结果时间。例如,如果我想查看过去360天数据的一些指标,我不需要再次查询数据库,因为我可以重用最后的查询结果。 MongoDB本机是否支持缓存,或者我是否必须使用另一个数据库,例如前面提到的Redis 编辑:我的问题不同于,因为我询问了外部缓存系统,后面的问题中的回答是专门针对MongoDB和Tornado的。Motor(MOngo+Tornado)软件包的作者在这里给出了一个缓存其类别列表的示例: 基本上,他定义了一个类别的

我将处理一个变化缓慢的大型数据集,因此我希望通过使用缓存机制来优化查询结果时间。例如,如果我想查看过去360天数据的一些指标,我不需要再次查询数据库,因为我可以重用最后的查询结果。 MongoDB本机是否支持缓存,或者我是否必须使用另一个数据库,例如前面提到的Redis

编辑:我的问题不同于,因为我询问了外部缓存系统,后面的问题中的回答是专门针对MongoDB和Tornado的。

Motor(MOngo+Tornado)软件包的作者在这里给出了一个缓存其类别列表的示例:

基本上,他定义了一个类别的全局列表,并查询数据库来填充它;然后,每当他需要页面中的类别时,他都会检查列表:如果列表存在,他会使用它,如果不存在,他会再次查询并填写它。他将其设置为在插入数据库时使列表无效,但根据您的使用情况,您可以创建一个全局超时变量来跟踪下一步需要重新查询的时间。如果你正在做一些复杂的事情,这可能会失控,但如果只是一个最近的帖子列表或什么的,我想这会很好。

Motor(MOngo+TORnado)软件包的作者在这里给出了一个缓存其类别列表的示例:


基本上,他定义了一个类别的全局列表,并查询数据库来填充它;然后,每当他需要页面中的类别时,他都会检查列表:如果列表存在,他会使用它,如果不存在,他会再次查询并填写它。他将其设置为在插入数据库时使列表无效,但根据您的使用情况,您可以创建一个全局超时变量来跟踪下一步需要重新查询的时间。如果你正在做一些复杂的事情,这可能会失控,但如果只是一个最新帖子的列表或其他东西,我认为这会很好。

Mongodb没有本机缓存系统。您必须使用其他系统进行缓存,或者您必须自己在mongodb上创建一个缓存系统。最好的解决方案是第一选择,最著名的系统是Redis。可能是@LuFFy的复制品我已经看到了另一个问题,我认为答案是针对MongoDB和Tornado的。它并没有提到缓存系统,所以我决定问这个问题。Mongodb并没有本地缓存系统。您必须使用其他系统进行缓存,或者您必须自己在mongodb上创建一个缓存系统。最好的解决方案是第一选择,最著名的系统是Redis。可能是@LuFFy的复制品我已经看到了另一个问题,我认为答案是针对MongoDB和Tornado的。它没有提到缓存系统,这就是我决定问这个问题的原因。