{
  "schema_version": 2,
  "id": "operate/rc/databases/active-active",
  "title": "Active-Active Redis",
  "url": "https://redis.io/docs/latest/operate/rc/databases/active-active/",
  "summary": "Overview of the Active-Active feature for Redis Cloud.",
  "aliases": [
    "/operate/rc/databases/configuration/active-active-redis/"
  ],
  "tags": [
    "docs",
    "operate",
    "rc"
  ],
  "last_updated": "2026-09-25T15:00:09+01:00",
  "children": [
    {
      "id": "operate/rc/databases/active-active/create-active-active-database",
      "summary": "Shows how to create an Active-Active database",
      "title": "Create an Active-Active database",
      "url": "https://redis.io/docs/latest/operate/rc/databases/active-active/create-active-active-database/"
    },
    {
      "id": "operate/rc/databases/active-active/manage-regions",
      "summary": "Learn how to add and edit regions for an Active-Active deployment.",
      "title": "Manage regions in Active-Active databases",
      "url": "https://redis.io/docs/latest/operate/rc/databases/active-active/manage-regions/"
    },
    {
      "id": "operate/rc/databases/active-active/develop",
      "summary": "General information to keep in mind while developing applications for an Active-Active database.",
      "title": "Active-Active Redis applications",
      "url": "https://redis.io/docs/latest/operate/rc/databases/active-active/develop/"
    }
  ],
  "page_type": "content",
  "content_hash": "e65ac8bf3bd17efd194cfe930f66e3617dc740a2781ca29018366ce8b27837a5",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Active-Active databases store data across multiple regions and availability zones.  This improves scalability, performance, and availability, especially when compared to standalone databases.\n\nTo create Active-Active databases, you need a Redis Cloud Pro subscription that enables Active-Active Redis and defines the regions for each copy of your databases. See [Create an Active-Active database](https://redis.io/docs/latest/operate/rc/databases/active-active/create-active-active-database) for instructions.\n\nActive-Active databases are distributed across multiple regions (geo-distribution).  This improves performance by reducing latency for nearby users and improves availability by protecting against data loss in case of network or resource failure.\n\nActive-Active databases allow read and write operations in each copy.  Each copy eventually reflects changes made in other copies ([eventual consistency](https://redis.io/docs/latest/glossary#eventual-consistency)).  Conflict-free replicated data types (CRDTs) synchronize read and write operations between copies.  CRDTs ensure consistency and resolve conflicts.\n\nActive-Active databases use TLS to synchronize data between regions.  You can also use TLS to encrypt client connections.  See [Transport Layer Security (TLS)](https://redis.io/docs/latest/operate/rc/security/database-security/tls-ssl) for more information.\n\nWhen developing for Active-Active databases, you need to consider some important differences. See [Develop applications with Active-Active databases](https://redis.io/docs/latest/operate/rc/databases/active-active/develop) for related information.\n\n> [!NOTE]\n> Active-Active subscriptions on Redis Cloud are limited to a maximum of 10 regions and 10 databases."
    },
    {
      "id": "active-active-geo-distributed-replication-highlights",
      "title": "Active-Active geo-distributed replication highlights",
      "role": "content",
      "text": ""
    },
    {
      "id": "multi-zone",
      "title": "Multi-zone",
      "role": "content",
      "text": "Geo-distributed replication maintains copies of both primary and replica shards in multiple clusters. These clusters can be spread across multiple availability zones. Active-Active Redis uses zone awareness to spread your primary and replica shards across zones, which helps protect against data loss from regional outages.\n\nThe availability of each region depends on the number of availability zones it provides:\n\n- Regions with three or more availability zones use multi-zone replication and provide **99.999%** (five-nines) availability.\n- Regions with fewer than three availability zones use single-zone replication and provide **99.99%** (four-nines) availability.\n\nAn Active-Active database can combine regions with different availability zone counts. When it does, the availability of the entire deployment is determined by the least resilient region. For example, an Active-Active database that spans a region with three availability zones and a region with fewer than three availability zones provides 99.99% (four-nines) availability overall.\n\n> [!NOTE]\n> Regions with fewer than three availability zones are not available when you create an Active-Active database in the Redis Cloud console. To create an Active-Active database that includes one of these regions, use the [Redis Cloud REST API](https://redis.io/docs/latest/operate/rc/api). You'll be able to manage these databases using the Redis Cloud console after they're created."
    },
    {
      "id": "local-latency-with-unique-endpoints",
      "title": "Local latency with unique endpoints",
      "role": "content",
      "text": "Applications can connect to a specific copy of an Active-Active database using its unique endpoint. For local latency, configure your application to use a database endpoint in the closest region."
    },
    {
      "id": "conflict-resolution",
      "title": "Conflict resolution",
      "role": "content",
      "text": "Active-Active databases use special data types called conflict-free replicated data types (CRDT). These automatically resolve conflicts that occur when writes are made to different clusters at the same time."
    },
    {
      "id": "failover-handling",
      "title": "Failover handling",
      "role": "content",
      "text": "After a failure at the process, node, or zone level, Active-Active databases automatically promote replica shards to replace failed primaries, copy data to new replica shards, and migrate shards to new nodes as needed. This reduces downtime and makes the most of your computing resources, even in the event of a failure.  \n\nHowever, Active-Active databases do not have a built-in [failover](https://en.wikipedia.org/wiki/Failover) or failback mechanism for application connections. To handle cluster-level failures, you should implement one of the following disaster recovery strategies to redirect traffic between regions:\n\n- [Network-based](https://redis.io/docs/latest/operate/rs/databases/active-active/disaster-recovery/network-based): Global traffic managers and load balancers for routing.\n\n- [Proxy-based](https://redis.io/docs/latest/operate/rs/databases/active-active/disaster-recovery/proxy-based): Software proxies handle detection and routing logic.\n\n- [Client library-based](https://redis.io/docs/latest/operate/rs/databases/active-active/disaster-recovery/client-library-based): Database client libraries with built-in failover logic.\n\n- [Application-based](/operate/rc/databases/active-active/develop/app-failover-active-active): Custom application-level monitoring and connectivity management.\n\nFor more information and guidance on which disaster recovery strategy to implement, see [Disaster recovery strategies for Active-Active databases](https://redis.io/docs/latest/operate/rs/databases/active-active/disaster-recovery).\n\nData automatically syncs to a recovered cluster when it returns to a healthy state."
    },
    {
      "id": "sizing-and-memory",
      "title": "Sizing and memory",
      "role": "content",
      "text": "Active-Active databases consume more memory than standalone databases. Because Active-Active requires replication, and Active-Active replication doubles memory consumption on top of that, the memory limit impact can be as large as four times (4x) the original data size.\n\nActive-Active databases also begin evicting keys earlier than standalone databases, at 80% of an instance's memory limit, and reserve additional memory for replication backlogs. Account for these factors when you size your database.\n\nFor more information, see [Memory limits and sizing](https://redis.io/docs/latest/operate/rc/databases/configuration/sizing#dataset-size)."
    }
  ],
  "examples": []
}
