2015-02-08 57 views
0

我假设这个答案因数据库的大小而异。但是,假设数据库非常大,大概为0.5 GB到5 GB,那么每当调用任务时查询数据库是一个好习惯,而不是在启动脚本时将变量设置为整个数据库,并搜索变量而不是数据库?设置一个变量等于整个数据库的好习惯吗?

什么,我之前做的是:

每当服务器启动了,它会查询整个数据库,并设置一个变量等于集合。每当有一个新的“行”(不知道他们在MongoDB中调用它的时候),它会被推送到变量和数据库中。如果“行”存在,它将$设置它需要的任何数据到数据库和变量。

预先感谢您。

+0

它被称为“缓存”,取决于你的应用的功能。如果它只是一个小数据量的小应用程序,那么您可以查询数据库 – 2015-02-08 21:26:38

+0

我认为如果数据量很大,“缓存”数据会很糟糕。这不会需要更多的内存? – ECMAScript 2015-02-08 21:36:29

+0

缓存所有数据不是一个好主意。通常你会识别经常使用的数据并缓存它。但这一切都取决于您拥有的应用程序和硬件(例如,有分布式缓存解决方案) – 2015-02-08 21:39:52

回答

1

不,不要担心引入任何缓存,直到遇到实际的性能问题时,您可以追溯到特定查询时间过长。

MongoDB对最近访问过的索引和文档执行自己的缓存,因此对自己的通用缓存进行通常是多余的。

有关该主题的更多信息,请参阅the FAQ

相关问题