Upstash vs Redis Cloud vs Dragonfly in 2026: Which Redis Should You Cache With
Caching Is the Cheapest Performance You Can Buy
Past a certain amount of traffic, every app hits the same wall: the database is doing the same expensive work over and over. The same product query, the same user's dashboard aggregation, the same third-party API call — recomputed on every request, each one a little slower than it should be, all of them piling load onto the one resource that is hardest to scale. Caching is the fix, and it is the cheapest performance you will ever buy: store the answer to an expensive operation in fast memory the first time, and serve it in microseconds every time after until it goes stale.
In 2026 the tool for that job is still, overwhelmingly, Redis — the in-memory data store that has been the default speed layer of the web for over a decade. But "use Redis" is no longer a single decision, because how you *host* Redis has fractured into genuinely different products, and the right one depends entirely on where your code runs and how much traffic it pushes. Three names dominate the choice: Upstash, Redis Cloud, and Dragonfly.
One scoping note before the comparison, because it removes a lot of confusion: all three speak the same Redis protocol. The commands are identical, your client library is the same, and code written for one runs against the others with a connection-string change. The decision is not "which one runs Redis" — they all do. It is *how it is hosted, how it is billed, how it connects to serverless code, and how it scales.*
Redis and caching services sit as a fast in-memory layer in front of your database
The Serverless Connection Problem — Why This Comparison Exists
You cannot understand this comparison without the one problem that reshaped it: serverless breaks traditional database connections.
Classic Redis, like classic Postgres, talks over a long-lived TCP connection. Your server opens it on startup and reuses it forever. That model assumes a small, stable fleet of long-running servers. Serverless and edge functions violate that assumption completely — the platform spins up many short-lived instances on demand, each wanting its own connection, and a traffic spike can try to open thousands at once and blow past the connection limit. The symptoms are ugly and always arrive at the worst moment: "too many connections" errors, timeouts under load, a cache that collapses exactly when traffic peaks.
This is the same problem that reshaped serverless Postgres, and it splits the three services cleanly:
If your app is serverless or edge, that single fact does most of the work in choosing.
The Three at a Glance
| Dimension | Upstash | Redis Cloud | Dragonfly |
|---|---|---|---|
| What it is | Serverless Redis | Official managed Redis | Multi-threaded Redis-compatible engine |
| Made by | Upstash | Redis Inc. (creators of Redis) | DragonflyDB |
| Connection model | HTTP/REST + TCP | TCP | TCP |
| Serverless / edge fit | Excellent (no pooling) | Needs a pooler | Needs a pooler |
| Pricing | Per request, free tier, scale-to-zero | Provisioned, fixed monthly | Provisioned / self-hosted |
| Threading | Managed | Single-threaded core | Multi-threaded (uses all cores) |
| Best traffic shape | Low, spiky, unpredictable | High, constant | Very high throughput per node |
| Modules (search, JSON, vector) | Limited | Full | Partial / growing |
| Global replication | Yes, built for edge | Active-active | Self-managed |
| Sweet spot | Serverless caching + rate limiting | Feature-complete, high volume | Max throughput per dollar |
The rest of this guide is what sits behind that table — and when each column is the one that decides.
Upstash — Redis That Fits Serverless
Upstash is serverless Redis: managed Redis re-packaged to match how modern apps actually deploy and pay. Three design choices define it.
The HTTP API is the headline. Alongside the normal Redis interface, Upstash exposes a REST API and an @upstash/redis client that makes a stateless HTTPS request per command. That is what lets it run from Cloudflare Workers, Vercel Edge, and Lambda without any connection pooling — the cache behaves like any other web API call.
Pay-per-request with real scale-to-zero. Upstash bills per command with a generous free tier (hundreds of thousands of commands a month) and charges a small amount per hundred thousand commands beyond it. An idle app costs nothing; a quiet weekend costs nothing. Your bill tracks real usage exactly — ideal for early-stage and spiky traffic, and the model's only weakness is a high, constant firehose where per-request pricing keeps climbing.
Batteries included for the two real jobs. Most serverless apps use Redis for exactly two things — caching and rate limiting — and Upstash ships first-class SDKs for both. @upstash/ratelimit drops into middleware in a few lines with sliding-window and token-bucket algorithms; the caching helpers wrap the common patterns. It also replicates globally for low edge latency, and it is what powers Vercel's own KV offering under the hood.
Reach for Upstash when you deploy serverless or at the edge, your traffic is low-to-moderate or unpredictable, and you mostly need caching, sessions, and rate limiting without thinking about connections or capacity.
Redis Cloud — The Official, Full-Power Standard
Redis Cloud is the managed service from Redis Inc., the company that builds Redis itself — the reference implementation, not a compatible reimplementation, run by the people who define what Redis is.
The complete feature set. This is where Redis Cloud pulls ahead: beyond the core key-value and data-structure commands, it offers the full module ecosystem — full-text and vector search (increasingly the reason people reach for it, to power AI retrieval without adding a separate vector database), the native JSON type, time series, and probabilistic structures like Bloom filters. If your app needs any of those, the choice is largely made for you.
Provisioned, predictable, and fast in-region. You pick a plan sized by memory and throughput and pay a fixed monthly figure. That is more than Upstash's free tier at low volume, but it flips to *cheaper* once you are pushing tens of millions of commands a month, because a fixed cost across huge volume beats per-request billing. In-region latency is sub-millisecond, and enterprise tiers add active-active multi-region replication for globally distributed writes.
The serverless caveat. Redis Cloud uses traditional TCP connections, so hitting it from serverless functions means putting a pooler in front or capping concurrency — the same connection discipline you would apply to a traditional Postgres. Manageable, but real work Upstash removes.
Reach for Redis Cloud when you need modules (vector, full-text, JSON), you want active-active multi-region, or your traffic is high and constant enough that fixed pricing wins — and you are running somewhere that can hold connections or you are happy to pool them.
Dragonfly — The Multi-Threaded Challenger
Dragonfly is the newest of the three and takes a different angle entirely: it is a from-scratch, Redis- and Memcached-compatible engine built to be multi-threaded.
Why that matters. Core Redis is single-threaded — it processes commands one at a time on a single CPU core, which is elegant and predictable but means a single instance cannot use the other cores on your machine; to go faster you shard across many instances. Dragonfly rewrites the engine to use all cores on a box, so one instance delivers many times the throughput of single-threaded Redis on the same hardware, and it is more memory-efficient on top of that. The practical payoff is vertical scaling: instead of standing up and sharding a cluster, you run one bigger Dragonfly node and it saturates the machine.
Where it wins. Dragonfly is a drop-in for the Redis protocol, so your existing code and clients work unchanged, and its advantage is throughput-per-dollar-per-node. The community rule of thumb is to consider it once a single node needs to handle very high throughput — on the order of tens of thousands of operations per second — or your managed Redis bill has climbed past a few hundred dollars a month and a single efficient instance would be dramatically cheaper. It is available self-hosted (under the Business Source License) or as managed Dragonfly Cloud.
The trade-offs. It uses TCP like any traditional Redis, so the serverless connection caveat applies; its ecosystem, tooling, and module coverage are younger than Redis Inc.'s; and self-hosting means you own the operational burden unless you take the Cloud option.
Reach for Dragonfly when you run your own infrastructure, one node has to move a lot of traffic, and you want the most throughput per dollar without managing a sharded cluster.
The License Question Nobody Warns You About
One 2026-specific wrinkle worth knowing, because it quietly shapes what "Redis" even means now. In 2024 Redis Inc. relicensed Redis away from the permissive open-source BSD license to a more restrictive dual license (SSPL / RSALv2), to stop big clouds from reselling Redis as a managed service without contributing back. The community forked the last open version into Valkey, a drop-in-compatible project under the Linux Foundation and backed by AWS, Google, and Oracle — which is now what several clouds ship under "Redis-compatible" labels. In 2025 Redis Inc. added an AGPLv3 option to Redis 8 to bring an OSI-approved license back.
For most developers consuming a managed service, this is invisible: Upstash and Redis Cloud hand you a Redis-compatible endpoint and handle licensing on their side, and your client code — which just speaks the protocol — never changes. It matters only if you plan to self-host and redistribute the server inside something you ship, where AGPL/SSPL obligations are real; Dragonfly, for its part, is source-available under BSL 1.1 with its own conditions. The short version: as a consumer of a cache, ignore the drama and enjoy that your Redis code is portable across all of them; as someone who self-hosts or embeds, read the exact license of the exact build before you ship.
Head to Head
Connection model and serverless fit
The deciding axis for most modern apps. Upstash's HTTP API means it works from any serverless or edge runtime with zero pooling — the reason it dominates the Vercel and Cloudflare ecosystems. Redis Cloud and Dragonfly use TCP, so from serverless you pool, cap concurrency, or run on long-lived infrastructure. If you are serverless-first and do not want to think about connections, Upstash wins this outright; if you run traditional servers or containers, the TCP model is a non-issue and the axis is neutral.
Performance and latency
All three are in-memory and fast; the differences are about *shape*. Redis Cloud gives the lowest in-region latency (sub-millisecond) and, on enterprise tiers, active-active multi-region. Upstash trades a little raw latency for global edge replication and the HTTP round-trip, which is the right trade when your compute is at the edge and the alternative is a cross-region TCP call. Dragonfly wins on throughput — the ops-per-second one node can sustain — rather than single-request latency. As always, the biggest real-world lever is co-locating your cache with your compute: an edge function calling a single-region cache on every request can be slower overall than a regional function sitting next to it.
Pricing
Three different models, three different sweet spots. Upstash's per-request billing with a free tier and scale-to-zero is cheapest for low, spiky, or unpredictable traffic and costs nothing when idle. Redis Cloud's fixed provisioned pricing is more at low volume but wins once you are at tens of millions of commands a month, because fixed cost across huge volume beats per-request. Dragonfly optimizes throughput-per-dollar-per-node, winning when one efficient instance replaces a much larger or sharded Redis. Model it against your own traffic — the ranking flips depending on volume and how constant it is.
Features and data structures
Plain key-value, expirations, counters, sorted sets, hashes, pub/sub — identical across all three. The gap is in modules: Redis Cloud offers the full set (vector and full-text search, JSON, time series, probabilistic structures), Upstash covers core Redis with a narrower module story, and Dragonfly's module coverage is growing but younger. If you want your cache to double as a vector store or a search index, Redis Cloud is the clear pick; for pure caching, sessions, and rate limiting, all three are equivalent.
Scaling
Upstash scales automatically and invisibly — that is the point of serverless; you never size an instance. Redis Cloud scales by moving up provisioned plans and, at the top, clustering and active-active. Dragonfly scales *vertically* — one bigger node using all its cores — which sidesteps the operational cost of sharding a Redis cluster and is its core selling point.
Developer experience
Upstash leads for serverless DX: an HTTP client, a rate-limiting SDK, a caching SDK, and a console built around the way people actually deploy in 2026. Redis Cloud offers the deepest tooling, dashboards, and enterprise features but with more configuration. Dragonfly's DX is "it's just Redis, only faster" — your existing clients and commands work unchanged, with the operational responsibilities of running (or paying someone to run) a server.
Which One Should You Choose
Strip away the detail and it comes down to three clean rules.
You deploy serverless or at the edge, and you mostly need caching, sessions, and rate limiting → Upstash. The HTTP API removes the connection problem entirely, the free tier and scale-to-zero fit early and spiky traffic, and the rate-limiting and caching SDKs get you shipping in minutes. This is the correct default for the majority of modern Next.js and full-stack JS apps.
You need the full Redis feature set, multi-region, or predictable cost at high constant volume → Redis Cloud. Vector or full-text search, the JSON type, active-active replication, tens of millions of commands a month where fixed pricing wins — this is the feature-complete, official standard, as long as you can hold or pool TCP connections.
One node has to move enormous throughput cheaply, and you run your own infrastructure → Dragonfly. When your ops-per-second or your Redis bill has outgrown a comfortable single node, its multi-threaded engine gives you the most throughput per dollar without sharding a cluster.
The mistake to avoid is provisioning a large managed Redis or standing up a Dragonfly cluster for an app with a hundred users — premature infrastructure that costs money and attention you should spend on the product — or, at the other end, riding per-request pricing into a bill that a fixed instance would have halved. Start where your stage and hosting point you, measure command volume and latency, and let a real need move you.
Caching in a Template or Starter You Sell
If you build templates and starters to sell, the cache layer is judged the way buyers judge everything else: does it run on first deploy, is it easy to read, and is it documented? A few rules make a caching layer read as production-ready:
A cache that works the moment the buyer deploys, reads cleanly, and is documented does as much to make a codebase feel production-ready as the feature it accelerates — and it is one of the highest-signal things you can include in a template that sells.
The Bottom Line
All three do the core job well: keep hot data in memory, speak the Redis protocol your code already knows, and serve it in microseconds. The decision is not "which one runs Redis" — it is *how it is hosted, how it is billed, and how it connects to your code.*
Reach for Upstash when you deploy serverless or at the edge and mostly need caching and rate limiting; reach for Redis Cloud when you need the full feature set, multi-region, or predictable cost at high volume; reach for Dragonfly when one node has to do a lot cheaply. And whatever you choose, remember the platform only gives you the primitive: fast, reliable caching comes from caching the right things, setting sane expirations, and co-locating your cache with your compute.
Ready to turn what you build into income? List your template or SaaS starter on CodeCudos, see where caching fits the wider stack in our best tech stack for web apps in 2026 guide, pick the serverless platform your cache runs on, choose the database it sits in front of, or make sure the whole build reads as production-ready.
