我正在使用Node-RED中的http in
节点编写API。对于某些路径的GET
请求,我想缓存响应,以便不再执行流程。我遇到了两个Node-RED软件包cache和global-cache。但是,他们似乎没有缓存API响应。
如何以节点红色缓存API响应?
答案 0 :(得分:1)
node-red-contrib-cache
不会自动缓存响应,但您可以自己创建此逻辑:
首先,您需要设置msg.topic
这将是缓存键。在这里,我使用了msg.req.url
表达式:
接下来,您需要输入缓存节点,该节点将尝试从缓存中获取响应。它会传播msg.payload
,如果在缓存中找不到任何内容,它将返回null
。
这是您使用切换节点进行分支的地方:
如果是null
,则转到将创建响应的节点(在本例中为函数),然后使用输出缓存节点将其存储以供日后使用并将其发送到 http响应节点。
如果不是null
,只需将其直接传递到 http响应节点。
您可能需要调整缓存密钥和TTL。