Move from Redis Open Source to Redis Software
Plan a move from a self-managed Redis Open Source deployment to Redis Software, including how configuration works differently and how to migrate your data.
| Redis Software |
|---|
Redis Software builds on Redis Open Source, so your data, commands, and client libraries work the same way. What changes is how you deploy and configure Redis: instead of running a single server from a redis.conf file, you run a cluster of nodes that hosts managed databases.
This guide explains those differences and walks through planning a move from a self-managed Redis Open Source deployment to Redis Software.
For the exhaustive list of supported commands, configuration settings, and RESP versions, see Redis Open Source compatibility.
How Redis Software differs from Redis Open Source
In Redis Open Source, you run one Redis server process per instance and configure it directly, typically through a redis.conf file or CONFIG SET at runtime.
Redis Software introduces two layers on top of that model:
- A cluster of nodes that provides high availability, scaling, and a management layer.
- Databases that run on the cluster. Each database is a managed object with its own settings, endpoints, and access controls. A single cluster can host many databases.
Because of this model, you don't edit a configuration file to tune a database. You set cluster-level options during cluster setup and database-level options when you create or update each database.
Configuration model: from redis.conf to Redis Software
Redis Software splits configuration across two levels:
| Level | What it controls | How you set it |
|---|---|---|
| Cluster | Node roles, networking, security, and cluster-wide policies | During cluster setup, then through the Cluster Manager UI, rladmin, or the REST API |
| Database | Memory limit, persistence, replication, clustering, eviction, and supported Redis Open Source settings | When you create a database, then through the Cluster Manager UI, rladmin, or the REST API |
Key differences from a redis.conf workflow:
- No per-database configuration file. You manage database settings through the Cluster Manager UI,
rladmin, or the REST API, not a file you edit on disk. - Only a subset of Redis Open Source settings applies. Redis Software supports a subset of Redis Open Source configuration settings. Using
CONFIG GETorCONFIG SETwith an unsupported setting returns an error. See Compatibility with Redis Open Source configuration settings for the full list. - Some settings move to database-level controls. A few settings that you'd set with
CONFIG SETin Redis Open Source are instead set per database withrladmin tune dbor the REST API.
Plan your migration
Use this checklist to plan a move from Redis Open Source to Redis Software:
- Inventory your current configuration. List the
redis.confsettings and runtimeCONFIGvalues your deployment relies on. - Check compatibility. Confirm that the commands, configuration settings, and RESP version your application uses are supported.
- Choose a database topology. Decide whether each database is a standard database or an Active-Active database for geo-distributed writes.
- Size your deployment. Review hardware requirements and supported platforms for the cluster.
- Plan your data migration. Decide whether to sync from a running source with Replica Of or import from a file. See Migrate your data.
Installation and configuration flow
Moving to Redis Software follows this sequence. Reviewing it before you install helps you plan the whole flow, not just the software install.
- Plan your deployment to choose platforms, size hardware, and plan networking.
- Prepare to install by meeting OS and system requirements on each node.
- Install Redis Software on each node.
- Set up the cluster by creating a new cluster on the first node and joining the remaining nodes.
- Create a database and configure its settings.
- Connect your clients to the new database endpoint.
If you plan to deploy on Kubernetes, the flow maps to the same concepts through Redis Software for Kubernetes: you declare the cluster and databases as custom resources, and the operator provisions them. Planning the configuration model up front matters most for Kubernetes deployments, where you define these objects declaratively rather than through the Cluster Manager UI.
Migrate your data
Redis Software offers two ways to move your existing data into a new database:
- Sync from a running source with Replica Of. Replica Of (also called Active-Passive) synchronizes a Redis Software database with one or more source databases, including a Redis Open Source database that's external to the cluster. Point the replica at your source's
redis://endpoint, wait for the initial sync to finish, then cut your applications over to the new database. Use this path to migrate a running deployment with minimal downtime. - Import from a file. If you have an RDB or backup file, import it into the new database.
Next steps
- See Redis Open Source compatibility for the full compatibility reference.
- Create a database to configure your first database.
- Try the Redis Software quickstart before you plan a full deployment.