想知道经常读取的数据非规范化的最有效方法是什么?
例如,假设我有1000个项目的1000万个评级。每个评级都包含用户ID,项目ID,评级值和日期。
浏览评分页面时,我希望在将结果发送给用户之前,使用项目名称,图像,项目评级平均值等更新每个评级。
由于只有1000个项目,因此缓存这些项目是有意义的,因此用户只调用数据库进行评级,而不是项目。
想象一下,这是一个标准MEAN应用程序上的流行端点(~1k / sec),想知道将项目属性缓存到别处(Redis服务器)是否更聪明,或者将它们缓存在每个实例的内存中?
Redis上的缓存会给Redis服务器带来更多负载(所有实例都调用相同的服务器),而每个实例的内存中会对每个实例施加更多负载,并且考虑Node最适合I / O,可能不会做得最好。