正如标题所示。我正在尝试找出应该在 Node.js 应用程序中缓存数据的位置。
我正在使用express.js 和 Controller 来处理应用程序中的路由。特定路线的 Controller 将使用 REST API 通过模型层获取数据,然后使用句柄在服务器上进行 View 渲染。
对于这个特定的路线,我正在显示一个菜单,并且我为此获得的数据已在模型和远程 REST 调用中完成。
当用户在菜单中选择不同的项目时,我不想再次进行新的 REST 调用来获取菜单的相同数据,我只需要获取该菜单的数据一次,因为它永远不会改变。
我需要找到一种缓存它的方法,但不知道应该在哪里实现它?
最诚挚的问候
最佳答案
您可以使用 Redis 或 Memcached 等内存存储来缓存来自 REST API 或数据库查找的响应,两者在 npm 上都有可用的良好模块 - ( Redis 、 memcached )。
您需要尝试从内存存储(在您的 Controller 中)获取数据,如果找不到匹配的数据,您将向 API 或数据库发出请求以获取数据,然后将其存储在您选择的内存存储中,以便将来的请求将命中缓存。
注意:还有一些可用的纯 JavaScript 缓存,例如 memory-cache或lru-cache如果您不想添加额外的应用程序。
关于node.js - mvc架构中如何使用缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956808/