Facts read November 9, 2026

Cloudflare Durable Objects vs Upstash Redis

Upstash Redis is Cuely's default counters and cache pick when your description doesn't favor either one: redis counters, sorted sets and expiring keys over HTTP, so it works from serverless and edge functions. Pick Cloudflare Durable Objects if you care most about realtime features.

Side by side

FactCloudflare Durable ObjectsUpstash Redis
What it isSingle-instance stateful objects on Cloudflare's network, each with its own SQLite storage and WebSockets.Serverless Redis over HTTP, billed per command or as a fixed monthly plan.
Free planOn Workers Free (SQLite-backed objects only): 100,000 requests a day, 13,000 GB-s of duration a day, 5 million rows read and 100,000 rows written a day, 5 GB stored in total. Past any limit, further operations fail with an error until 00:00 UTC.Free: 250 MB of data, 500K commands a month, 10 GB of bandwidth a month, 1 database, up to 10,000 commands per second.
Paid fromOn Workers Paid ($5/month account minimum): 1M requests a month, then $0.15 per million; 400,000 GB-s, then $12.50 per million GB-s; 50M rows written, then $1.00 per million; 5 GB-month, then $0.20 per GB-month.Pay as you go: $0.20 per 100K commands; storage $0.25 per GB after the first 1 GB; bandwidth free up to 200 GB a month, then $0.03/GB. Fixed 250 MB: $10/month with no per-command billing.
At 1,000 users$0/month$0/month
Open sourceNoNo
Self-hostableNoNo
Best forEverything on Cloudflare; Pushing live updates over WebSockets; Per-room or per-question stateVote counts and live tallies; Leaderboards (sorted sets); Streaks and rate limits (keys that expire); Caching hot reads
Watch outYou write the counting, sharding and leaderboard code yourself; there are no Redis-style commands. One object has a soft limit of 1,000 requests a second, so a big spike needs counters split across objects.Free stops at 500K commands a month, which a viral day can use in hours; switch to pay as you go and set its budget cap before launch. The free plan allows 1 database.

Where they differ

The published scores, from −3 to +3, that decide which one Cuely picks for each need.

NeedCloudflare Durable ObjectsUpstash Redis
realtime features+2 The same object can hold players' WebSockets; with the Hibernation API idle connections aren't billed for duration, and incoming messages bill at 20:1.0 No particular strength here.
Next.js or React−1 Lives on Cloudflare Workers; an app on Vercel has to call it over HTTP.+1 Vercel's own Redis option: Vercel KV is no longer offered and existing stores moved to Upstash.
traffic comes in viral spikes0 No particular strength here.+2 Pay as you go absorbs a spike at $0.20 per 100K commands, under a budget cap you set.
votes, scores, leaderboards or streaks (many writes to the same numbers)+2 One object per question counts votes with strong consistency in its own SQLite storage.+3 Atomic INCR and HINCRBY for votes, sorted sets for leaderboards, expiring keys for streaks, up to 10,000 commands a second on every plan.
global low latency+2 Runs on Cloudflare's network beside your Workers.+1 HTTP client works from edge runtimes, including Cloudflare Workers.

Sources: Cloudflare Durable Objects pricing (read November 9, 2026), Upstash Redis pricing (read November 9, 2026). No vendor pays for placement.

Other counters and cache options