node-red - API响应缓存

时间:2018-04-21 14:45:07

标签: node.js rest caching node-red

我正在使用Node-RED中的http in节点编写API。对于某些路径的GET请求,我想缓存响应,以便不再执行流程。我遇到了两个Node-RED软件包cacheglobal-cache。但是,他们似乎没有缓存API响应。

如何以节点红色缓存API响应?

1 个答案:

答案 0 :(得分:1)

node-red-contrib-cache不会自动缓存响应,但您可以自己创建此逻辑:

首先,您需要设置msg.topic这将是缓存键。在这里,我使用了msg.req.url表达式:

接下来,您需要输入缓存节点,该节点将尝试从缓存中获取响应。它会传播msg.payload,如果在缓存中找不到任何内容,它将返回null

这是您使用切换节点进行分支的地方:

如果是null,则转到将创建响应的节点(在本例中为函数),然后使用输出缓存节点将其存储以供日后使用并将其发送到 http响应节点。

如果不是null,只需将其直接传递到 http响应节点。

您可能需要调整缓存密钥和TTL。