Why is Redis so slow (~500 ms per operation) inside n8n workflows?

Hi everyone,

I’ve been using Redis inside my n8n workflows to store temporary state (session data, orchestration outputs, etc.).

However, I’ve noticed that every SET or DEL operation takes around 400–500 ms, which feels unexpectedly slow.

After some observation, it seems like n8n might be opening a new Redis connection for each node execution, rather than reusing a single persistent connection — but this is just a guess based on behavior, not a confirmed fact.
If that’s the case, it could explain the extra latency when Redis is called multiple times in one workflow.

Here’s what I’d like to ask:

  1. Is this connection-per-node behavior actually how n8n handles Redis under the hood?

  2. Is there any way to reuse a global Redis connection across multiple nodes (e.g., through environment variables or an initialized client)?

  3. Would switching to an HTTP-based Redis service (like Upstash REST API) help reduce connection latency?

  4. Any best practices or recommended approaches for improving Redis performance in n8n?

Thanks in advance — I’d really appreciate any insights from people who’ve dealt with Redis latency in n8n.