---
title: "Launching Redis by Upstash"
description: "Fly.io and Upstash launched a managed Redis service positioned close to Fly.io applications, with global replicas, a free tier, and private encrypted IPv6 connectivity. The integration uses Flycast, Machines API, WireGuard networking, and PROXY protocol headers: flyctl provisions a Flycast IP, routes it through global proxies to the nearest healthy Redis instance, and lets multitenant Redis identify the customer database without exposing its password. Applications can add replicas and write forwarding through flyctl while retaining a single Redis URI; writes go to the primary and reads and writes use geographically nearest replicas. The post illustrates edge HTML caching for a Rails recipe app, reporting low-millisecond global time to first byte for cached GET requests. It also describes read-your-own-write handling, including a 500ms replication wait and fallback reads from the source of truth."
---

# Launching Redis by Upstash

[Fly.io](https://yomu.fyi/company/fly-io) · Dec 15, 2022

**Type:** Announcement

## Summary

Fly.io and Upstash launched a managed Redis service positioned close to Fly.io applications, with global replicas, a free tier, and private encrypted IPv6 connectivity. The integration uses Flycast, Machines API, WireGuard networking, and PROXY protocol headers: flyctl provisions a Flycast IP, routes it through global proxies to the nearest healthy Redis instance, and lets multitenant Redis identify the customer database without exposing its password. Applications can add replicas and write forwarding through flyctl while retaining a single Redis URI; writes go to the primary and reads and writes use geographically nearest replicas. The post illustrates edge HTML caching for a Rails recipe app, reporting low-millisecond global time to first byte for cached GET requests. It also describes read-your-own-write handling, including a 500ms replication wait and fallback reads from the source of truth.

## Context

The integration targets globally deployed applications that need low-latency Redis without exposing the service to the internet. Its design also addresses secure connectivity between customer applications and Upstash's isolated, multitenant Fly.io deployment, while supporting read-your-own-write consistency across replicas.

## Approach / What changed

Upstash Redis runs as a standard Fly.io application in multiple regions. Flycast assigns a private address and proxies connections to the nearest healthy instance; a PROXY protocol header carries the destination address so multitenant Redis can select the database. Replicas forward writes to the primary and track replication to provide read-your-own-write behavior.

## Takeaways

- flyctl can create a Redis database with a primary region, optional replica regions, eviction, and an Upstash plan, including a 100 MB free tier.
- A single Redis URI supports geographically nearest reads and writes, with writes forwarded to the primary and read-your-write consistency maintained across replicas.
- For delayed replication, a replica waits up to 500ms, then may serve a tracked write locally or forward the read to the primary source of truth.

**Tags:** [Caching](https://yomu.fyi/topic/caching), [Distributed Systems](https://yomu.fyi/topic/distributed-systems), [IPv6](https://yomu.fyi/topic/ipv6), [Redis](https://yomu.fyi/topic/redis)

- Source: [Fly.io](https://fly.io/blog/launching-redis-by-upstash)
- Source URL: https://fly.io/blog/launching-redis-by-upstash
- Ingested by Yomu: 2026-09-02T11:59:34.624Z

[Read original post](https://fly.io/blog/launching-redis-by-upstash)
