All Products
Search
Document Center

Tair (Redis® OSS-Compatible):One-way synchronization between instances in the same account

Last Updated:Jul 17, 2026

Data Transmission Service (DTS) supports one-way data synchronization for Tair (Redis OSS-compatible) databases. This feature is suitable for active geo-redundancy and geo-disaster recovery. The following procedure walks through configuring a one-way synchronization task between Tair (Redis OSS-compatible) instances.

Overview

  • Full data migration

    DTS migrates all existing data from the source database to the destination database. Full data migration is free.

  • Incremental data synchronization

    After full data migration, DTS synchronizes incremental updates from the source database to the destination database in real time. You are charged for incremental data synchronization based on task duration, not data volume. For more information, see Billing.

Prerequisites

A Tair (Redis OSS-compatible) instance serves as the destination. The destination instance must have more memory than the source instance uses. For more information, see Create an instance.

Note

The destination database should have at least 10% more memory than the source database. Insufficient memory can cause data inconsistency or task failures. If this occurs, clear the destination database and reconfigure the migration task.

Considerations

Do not change the source or destination database configuration during migration. Scaling resources, changing specifications, or modifying connection endpoints causes the task to fail, requiring reconfiguration. Because the migration consumes resources on both databases, perform it during off-peak hours.

Procedure

  1. Navigate to the data synchronization task list.

    1. Log on to the Data Management (DMS) console.

    2. In the top navigation bar, choose Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Next to Data Synchronization Tasks, select the region of the instance that you want to synchronize.

  2. Click Create Task.

  3. Configure the source and destination databases, and then click Test Connectivity and Proceed at the bottom of the page.

    Category

    Parameter

    Description

    N/A

    Task Name

    DTS automatically generates a task name. We recommend that you specify a descriptive name for easy identification. The name does not need to be unique.

    Source Database

    Select a DMS database instance.

    If you have registered this database with DMS, you can select it here to automatically populate the connection parameters. Otherwise, leave this option blank.

    Database Type

    Select Tair/Redis.

    Connection Type

    Select Cloud Instance.

    Instance Region

    Select the region of the source instance.

    Replicate Data Across Alibaba Cloud Accounts

    This example synchronizes data within the same Alibaba Cloud account. Select No.

    Instance ID

    Select the instance ID of the source database.

    Authentication Method

    Select Password Login or Secret-free login as required. This example uses Password Login.

    Note

    If password-free access is not enabled for the instance, you must select Password Login.

    Database Password

    Enter the password of the account used to connect to the source instance.

    Note
    • This parameter is optional. If no password is set, you can leave this field empty.

    • If you use a custom account, ensure it has read permissions. Specify the account and password in <user>:<password> format. For example, if the custom account username is admin and the password is Rp829dlwa, enter admin:Rp829dlwa.

    Destination Database

    Select a DMS database instance.

    If you have registered this database with DMS, you can select it here to automatically populate the connection parameters. Otherwise, leave this option blank.

    Database Type

    Tair/Redis is selected by default.

    Connection Type

    Select Cloud Instance.

    Instance Region

    Select the region of the destination instance.

    Instance ID

    Select the instance ID of the destination database.

    Authentication Method

    Select Password Login or Secret-free login as required. This example uses Password Login.

    Note

    If password-free access is not enabled for the instance, you must select Password Login.

    Database Password

    Enter the password for the account used to connect to the destination database.

    Note

    If you use a custom account, ensure it has write permissions. Specify the account and password in <user>:<password> format. For example, if the custom account username is admin and the password is Rp829dlwa, enter admin:Rp829dlwa.

  4. Configure the synchronization objects, and then click Next: Advanced Settings.

    Parameter

    Description

    Synchronization Type

    Full Synchronization + Incremental Synchronization is selected by default.

    Processing Mode for Existing Destination Tables

    • Precheck and Report Errors (Default): Checks whether keys exist in the destination database.

      If keys exist, the precheck reports an error and the task does not start. If no keys exist, the precheck passes.

    • Ignore Errors and Proceed: Skips the Check the existence of objects in the destination database. precheck item. Existing keys with the same name in the destination database are overwritten.

    Source Objects and Selected Objects

    In the Source Objects box, select the objects to synchronize, and then click image.png to move them to the Selected Objects box. To remove an object, select it in the Selected Objects box and click image.png to move it back to the Source Objects box.

    Note

    You can select databases (DB 0 to DB 255) as the objects to synchronize.

  5. Configure the advanced settings, and then click Next: Data Verification.

    In most cases, you can keep the default settings. For more information, see Appendix: Advanced settings.

  6. Configure data verification, and then click Next: Save Task Settings and Precheck.

    In most cases, you can keep the default settings. For more information, see Configure data verification in a DTS synchronization or migration instance.

  7. After the precheck is complete, click Next: Purchase Instance.

    If any Warning or Failed items are reported, resolve them individually. You can click View Details to see the issue and resolve it based on the provided suggestion. You can also click Confirm Alert Details to ignore the check item, but this is not recommended as it may cause data inconsistencies. For more information, see Precheck issues. After you resolve the issues, run the precheck again.

  8. On the Purchase page, configure the required information and click Buy and Start.

    • (Optional) For Resource Group Settings, select the resource group for the DTS task. The default resource group is used by default.

    • (Optional) Select the specification of the DTS synchronization link. Higher specifications provide faster synchronization speeds but incur higher costs. The default value is large. For more information, see Specifications of data synchronization links.

    • Read and agree to the terms of service.

    After you complete the purchase, the synchronization task starts. You can view its progress on the Data Synchronization page.

Next steps

If you no longer need to synchronize data, end or release the task in the console.

FAQ

  • Why does the connectivity test fail?

    Check the following:

  • Why does the migration task fail?

    • The migration task fails if you change the configuration (such as resources, specifications, or connection endpoints) of the source or destination database. If this occurs, you must reconfigure the task.

    • If the destination instance has insufficient memory, or if it is a cluster instance and a shard has reached its memory limit, the DTS task will fail with an out of memory (OOM) error.

    • If Transparent Data Encryption (TDE) is enabled on the destination instance, data migration with DTS is not supported.

  • Why is there a data discrepancy?

    • If some keys in the source database use an expiration (Expire) policy, they may not be deleted immediately upon expiration, resulting in the destination database having fewer keys than the source database.

    • For List data types, DTS does not perform a FLUSH operation on existing data in the destination when transferring data with PSYNC or SYNC. This can lead to duplicate data.

    • If a network interruption occurs during full data migration, DTS may perform multiple full migrations, which automatically overwrite keys with the same name. If a delete operation is performed on the source database during this time, the command will not be synchronized to the destination, resulting in the destination database having more data than the source.

  • Why does the precheck verify if the Redis eviction policy is noeviction?

    The default eviction policy (maxmemory-policy) for a Tair (Redis OSS-compatible) instance is volatile-lru. If the destination runs out of memory, eviction is triggered, causing data inconsistency without failing the task. To prevent this, set the destination eviction policy to noeviction. With this policy, writes fail when memory is full, causing the migration task to fail but preventing data loss from eviction. For more information, see Redis data eviction policies.

  • Why is there a key named DTS_REDIS_TIMESTAMP_HEARTBEAT in the source database?

    DTS inserts a key with the prefix DTS_REDIS_TIMESTAMP_HEARTBEAT into the source database to record update timestamps. For cluster sources, the key is inserted into each shard. DTS filters out this key during migration, and it expires automatically when the task completes.

  • Why do I see the error CROSSSLOT Keys in request don't hash to the same slot?

    If the destination is a cluster instance, Redis does not support cross-slot operations in a single command. Use single-key operations during DTS synchronization to avoid interrupting the link.

  • Which commands are supported for synchronization?

    • The following commands are supported:

      • APPEND

      • BITOP, BLPOP, BRPOP, and BRPOPLPUSH

      • DECR, DECRBY, and DEL

      • EVAL, EVALSHA, EXEC, EXPIRE, and EXPIREAT

      • GEOADD and GETSET

      • HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, and HSETNX

      • INCR, INCRBY, and INCRBYFLOAT

      • LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, and LTRIM

      • MOVE, MSET, MSETNX, and MULTI

      • PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, and PSETEX

      • RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH, and RPUSHX

      • SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, and SUNIONSTORE

      • ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, and ZREMRANGEBYSCORE

      • SWAPDB and UNLINK (supported only when the source Redis instance is version 4.0)

      • XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER, and XTRIM

    • The PUBLISH command is not supported.

    • DTS cannot guarantee the successful execution of a Lua script called with EVAL or EVALSHA during incremental data synchronization because the destination does not explicitly return an execution result.