Redis Software is fully compatible with Redis Open Source (OSS), so migrations are straightforward across most workloads. The guide begins with Prerequisites for versions, connectivity, and access, then compares Migration Paths for live replication with REPLICAOF, offline RDB import, and granular moves with RIOT or Redis Data Integration. The Step‑by‑Step Instructions detail setup, sync, cutover, and validation for each approach, while Best Practices focus on staging tests, hot/big‑key analysis, security configuration, and monitoring. Finally, Troubleshooting & Common Issues maps frequent blockers (Replica Of failures, blocked commands, SELECT behavior, OSS Cluster client errors, and data consistency checks) to quick fixes.
Prerequisites
Source Redis OSS version 6.x or 7.x.
Network connectivity between source OSS and the Redis Software cluster.
Access to the Redis Software Admin Console for creating/configuring databases.
For RIOT-based migration: Java 11+ and a host with network access to both source and destination.
Migration Paths
Live Migration (minimal downtime)
Use Replica Of for one-way replication from OSS to Redis Software.
Syncs data continuously until cutover.
Best for production with limited downtime windows.
Offline Migration (planned downtime)
Export an RDB snapshot from OSS and import into Redis Software.
Simplest option when downtime is acceptable.
Granular/Advanced Migrations
Use RIOT (Redis Input Output Tool) for selective data sets, specific logical databases, or continuous sync from other managed Redis OSS deployments.
Use Redis Data Integration (RDI) for migrating from non-Redis systems with change data capture.
Step-by-Step Instructions
A. Live Migration with Replica Of
Prepare source OSS Redis: Confirm version, endpoint, credentials, and connectivity.
Create destination database in Redis Software: Configure Replica Of with OSS endpoint.
Monitor sync status: Validate replication in the Admin Console.
-
Perform cutover:
Stop writes to OSS.
Redirect traffic to Redis Software.
Remove Replica Of configuration → database becomes standalone.
B. Migration with RIOT
Install RIOT on a host with Java 11+.
-
Snapshot migration:
./riot -h <oss_host> -p <oss_port> replicate -h <re_host> -p <re_port> -
Live migration:
./riot -h <oss_host> -p <oss_port> replicate -h <re_host> -p <re_port> --mode live Selective migration: use RIOT filters for logical DBs or key patterns.
C. Offline RDB Export/Import
Export from OSS: run BGSAVE or use provider backup.
Import to Redis Software: upload the RDB in the database import section (supports S3, GCS, Azure Blob, SFTP, or local mounts).
Validate data correctness post-import.
Best Practices
Test migrations in staging before production.
Analyze hot keys and big keys with Redis Insight or redis-cli --hotkeys/--bigkeys.
Plan for multi-key command limitations in clustered/sharded environments; see hash tags guide.
Enable TLS/SSL and RBAC in Redis Software for stronger security.
Use built-in monitoring dashboards and Prometheus metrics for post-migration validation.
Troubleshooting & Common Issues
| Issue | Quick Fix |
|---|---|
| Replica Of connection fails | Check firewall/network settings; increase client-output-buffer-limit on the source OSS. |
| Commands blocked in Redis Software | Review command compatibility. |
Client using SELECT fails |
Redis Software does not support logical DBs; migrate workloads to separate databases. |
| OSS Cluster client errors | Enable OSS Cluster API in the database configuration. |
| Data consistency concerns | Use RIOT’s diff/compare feature to validate consistency. |
0 comments
Please sign in to leave a comment.