大规模非规范化结果的最有效方法

时间:2017-04-24 19:35:01

标签: node.js mongodb caching redis

想知道经常读取的数据非规范化的最有效方法是什么?

例如,假设我有1000个项目的1000万个评级。每个评级都包含用户ID,项目ID,评级值和日期。

浏览评分页面时,我希望在将结果发送给用户之前,使用项目名称,图像,项目评级平均值等更新每个评级。

由于只有1000个项目,因此缓存这些项目是有意义的,因此用户只调用数据库进行评级,而不是项目。

想象一下,这是一个标准MEAN应用程序上的流行端点(~1k / sec),想知道将项目属性缓存到别处(Redis服务器)是否更聪明,或者将它们缓存在每个实例的内存中?

Redis上的缓存会给Redis服务器带来更多负载(所有实例都调用相同的服务器),而每个实例的内存中会对每个实例施加更多负载,并且考虑Node最适合I / O,可能不会做得最好。

0 个答案:

没有答案