← Back to Upstash Redis Bill Estimator
A pay-as-you-go Upstash Redis bill is three separately metered lines: commands (billed per million), storage (per GB-month) and bandwidth (per GB), each with a free allowance. The useful question is not "how do I spend less" but "which line, changed by how much, saves the most, and would a flat fixed plan be cheaper". That is arithmetic you can do before the invoice, from the usage numbers in the console. Prices in this page are approximate and dated in the estimator; verify them on the vendor site.
Every command is billed, and a client that issues one command per key pays for each. MGET, MSET and pipelines or transactions send many operations in one round trip and cut latency as well as the count where the operations are combined. Removing 30% of 60 million commands at $2 per million saves about $36 a month.
A handful of keys usually take most of the reads. A short in-process or edge cache means repeat reads never become commands. Removing 25% of 60 million commands is about $30.
A loop that checks a key every second is 2.6 million commands a month per worker. Replace it with pub/sub, a webhook or a longer interval.
Keys nobody reads again still bill per GB-month. Give cache and session keys a TTL so storage tracks live data. Storage is usually the smallest line, so do this for hygiene before cost.
Bandwidth beyond the free allowance bills per GB. Compress large values, drop unused fields and keep clients in the same region as the database.
A fixed plan is a flat monthly price for a storage ceiling. Pay-as-you-go is cheaper at low volume; above a crossover volume of commands the flat price wins. The estimator picks the smallest fixed plan that holds your storage and prints the monthly command volume where the two cost the same, holding storage and bandwidth constant. Each fixed plan has bandwidth and connection limits of its own that this does not model, so read them before moving.
Enter your usage in the estimator or from the CLI, and gate a budget in CI:
node cli.mjs estimate usage.csv --budget 100
Plans, regions, databases, add-ons, contracts and price changes are outside it. Prices here are approximate list prices and editable. The estimate is arithmetic on your inputs, never a bill reader.
On pay-as-you-go it is almost always commands, because they are billed per million and a chatty client or polling loop multiplies them. Storage and bandwidth matter for large values or large datasets. Estimate your own mix rather than assuming.
When your monthly command volume is above the crossover for the smallest fixed plan that holds your data. The estimator prints that volume. Check each fixed plan's own bandwidth and connection limits on the vendor site first.
No. Pipelining and caching act on the same commands, so each lever is calculated alone and the list is a ranking, not a plan total.