如何在mvc架构中使用缓存数据

时间:2016-03-12 11:01:42

标签: node.js caching express model-view-controller

正如标题所示。我试图找出应该在node.js应用程序中缓存数据的位置。

我使用express.js和控制器来处理应用程序中的路由。特定路线的控制器将使用REST API通过模型层获取数据,然后使用把手进行服务器上的视图渲染。

对于这个特定的路线,我显示了一个菜单,我为此获得的数据已在模型和远程REST调用中完成。

当用户在菜单中选择不同的项目时,我不想再进行新的REST调用以再次获取菜单的相同数据,我只需要获取此菜单的数据一次,因为它永远不会改变。

我需要找到一种缓存它的方法,但不知道应该在哪里实现它?

最好的问候

1 个答案:

答案 0 :(得分:0)

您可以使用像Redis或Memcached这样的内存存储来缓存来自REST API或数据库查找的响应,这两个模块在npm上都有很好的模块 - (Redismemcached)。

您需要尝试从内存存储区(在控制器中)获取数据,如果未找到匹配的数据,您将向API或数据库发出请求以获取数据,然后将其存储在您选择的内存存储器,以便将来的请求将达到缓存。

注意:如果您不想添加其他应用,还可以使用一些纯JavaScript缓存,例如memory-cachelru-cache