我正在使用 Node-RED 中的 http in
Node 编写 API。对于某些路径的 GET 请求,我想缓存响应,以便不再进一步执行流程。我遇到了两个 Node-RED 包 cache和 global-cache 。但是,他们似乎没有缓存 API 响应。
如何在 Node-Red 中缓存 API 响应?
最佳答案
node-red-contrib-cache
不会自动缓存响应,但您可以自己创建此逻辑,如下所示:
首先您需要设置 msg.topic
这将是缓存键。这里我使用了 msg.req.url
表达式:
接下来,您需要输入Cache Node ,该 Node 将尝试从缓存获取响应。它将传播 msg.payload
,如果在缓存中找不到任何内容,它将返回 null
。
这是您使用Switch Node 进行分支的地方:
如果它是null
,您将转到将创建响应的 Node (在本例中是一个函数),然后使用输出Cache Node 来存储它以供以后使用将其发送到http响应 Node 。
如果它不是 null
,只需将其直接传递到 http 响应 Node 。
您可能需要调整缓存键和 TTL。
关于node.js - node-red - API 响应缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49956933/