Tous les produits
Search
Centre de documentation

Tair (Redis® OSS-Compatible):Vérifier les données migrées

Dernière mise à jour :Aug 08, 2026

Une fois la migration des données vers une instance Tair (Redis OSS-compatible) terminée, utilisez l'outil redis-full-check pour vérifier la cohérence des données.

Prérequis

  • La migration des données est terminée.

  • Vous avez créé une instance ECS exécutant un système d'exploitation Linux. Pour plus d'informations, consultez la rubrique Créer une instance ECS.

  • L'instance ECS peut accéder aux instances Redis source et de destination.

    Remarque
    • Si l'instance ECS et l'instance Redis se trouvent dans le même VPC et la même zone de disponibilité, ajoutez l'adresse IP interne de l'instance ECS à la liste d'autorisation de l'instance Redis. Pour plus d'informations, consultez la rubrique Configurer une liste d'autorisation IP.

    • Si l'instance ECS et l'instance Redis ne se trouvent pas dans le même VPC ni la même zone de disponibilité, connectez-vous à l'instance Redis via son endpoint public. Pour plus d'informations, consultez la rubrique Se connecter à une instance Tair (Redis OSS-compatible) via un endpoint public.

Cas d'utilisation

Des erreurs survenant lors de la migration des données peuvent entraîner des incohérences entre les instances source et de destination. Utilisez redis-full-check pour identifier ces écarts et corriger les données.

redis-full-check est un outil de vérification des données Redis développé par Alibaba Cloud. Il extrait les données des instances source et de destination, compare les données en plusieurs cycles et enregistre les différences détectées dans une base de données SQLite3.

Remarque

Pour plus d'informations sur redis-full-check, consultez le dépôt GitHub redis-full-check.

Procédure

  1. Connectez-vous à l'instance ECS capable d'accéder à votre instance Tair (Redis OSS-compatible). Pour plus d'informations, consultez la rubrique Se connecter à une instance ECS.

  2. Téléchargez l'outil redis-full-check.

    Remarque

    Nous vous recommandons de télécharger la dernière version disponible.

  3. Décompressez le fichier redis-full-check.tar.gz.

    tar -xvf redis-full-check.tar.gz
  4. Exécutez la commande suivante pour lancer la vérification des données :

    ./redis-full-check -s "<source_endpoint_1:port;source_endpoint_2:port;...>" -p <source_password> -t <destination_endpoint:port> -a <destination_password> -m 1 --sourcedbfilterlist=0;2 --targetdbfilterlist=0;2

    Voici un exemple de commande :

    ./redis-full-check -s "10.xx.xx.1:6379" -p SourcePwd233 -t "r-bp1zc********.redis.rds.aliyuncs.com:6379" -a testaccount:Test1234 -m 1 --sourcedbfilterlist=0;2 --targetdbfilterlist=0;2

    Pour obtenir la liste complète des paramètres, consultez le Guide de configuration redis-full-check.

    Tableau 1. Paramètres courants de redis-full-check

    Paramètre

    Description

    Exemple

    -s

    Endpoint et port de l'instance Redis source.

    Remarque
    • Si la source est une instance cluster, séparez les différents endpoints par un point-virgule (;).

    • Placez les endpoints entre guillemets doubles ("").

    • Ce paramètre est obligatoire.

    r-bp1xxxxxxxxxxxxx.redis.rds.aliyuncs.com:6379
    "10.xx.xx.1:7000;10.xx.xx.1:7001;10.xx.xx.2:7002;10.xx.xx.2:7003"

    -p

    Identifiants de l'instance Redis source, au format <username>:<password>. Exemple : testaccount:Test1234. Si l'instance ne nécessite pas de nom d'utilisateur, indiquez uniquement le mot de passe. Si aucun mot de passe n'est requis, omettez ce paramètre.

    SourcePwd233 ou testaccount:Test1234

    -t

    Endpoint et port de l'instance Redis de destination.

    Remarque
    • Si la destination est une instance cluster, séparez les différents endpoints par un point-virgule (;).

    • Placez les endpoints entre guillemets doubles ("").

    • Ce paramètre est obligatoire.

    r-bp1xxxxxxxxxxxxx.redis.rds.aliyuncs.com:6379
    "10.xx.xx.1:7000;10.xx.xx.1:7001;10.xx.xx.2:7002;10.xx.xx.2:7003"

    -a

    Identifiants de l'instance Redis de destination, au format <username>:<password>. Exemple : testaccount:Test1234. Si l'instance ne nécessite pas de nom d'utilisateur, indiquez uniquement le mot de passe. Si aucun mot de passe n'est requis, omettez ce paramètre.

    TargetPwd233 ou testaccount:Test1234

    --sourcedbtype

    Type de l'instance source. Valeurs possibles :

    • 0 (par défaut) : autonome ou standard

    • 1 : cluster (mode de connexion directe)

    • 2 : cluster (mode proxy)

    --sourcedbtype=1

    --sourcedbfilterlist

    Bases de données à vérifier sur l'instance Redis source.

    Remarque
    • Ce paramètre n'est pas requis pour les instances cluster Redis OSS.

    • Pour les autres types d'instances cluster, toutes les bases de données sont vérifiées par défaut.

    • Pour spécifier plusieurs bases de données, séparez leurs numéros par un point-virgule (;).

    --sourcedbfilterlist=0;1;2

    --targetdbtype

    Type de l'instance de destination. Valeurs possibles :

    • 0 (par défaut) : autonome ou standard

    • 1 : cluster (mode de connexion directe)

    • 2 : cluster (mode proxy)

    --targetdbtype=0

    --targetdbfilterlist

    Bases de données à vérifier sur l'instance Redis de destination.

    Remarque
    • Ce paramètre n'est pas requis pour les instances cluster Redis OSS.

    • Pour les autres types d'instances cluster, toutes les bases de données sont vérifiées par défaut.

    • Pour spécifier plusieurs bases de données, séparez leurs numéros par un point-virgule (;).

    --targetdbfilterlist=0;1;2

    -d

    Nom du fichier de sortie contenant la liste des données incohérentes. Par défaut : result.db.

    xxx.db

    --comparetimes

    Nombre de cycles de vérification. Par défaut : 3. Minimum : 1. Nous vous recommandons de définir une valeur inférieure ou égale à 5.

    --comparetimes=1

    -m

    Mode de vérification. Valeurs possibles :

    • 1 : vérification complète.

    • 2 (par défaut) : vérifie uniquement la longueur des valeurs.

    • 3 : vérifie uniquement l'existence des clés.

    • 4 : effectue une vérification complète mais ignore les clés volumineuses.

    -m 1

    --qps

    Limite de requêtes par seconde (QPS). La valeur par défaut est 15000.

    Remarque
    • La valeur minimale est 1.

    • La valeur maximale dépend des performances de votre serveur.

    --qps=10

    --filterlist

    Liste des clés à comparer, séparées par des barres verticales (|).

    Remarque
    • abc* : correspond à toutes les clés commençant par « abc ».

    • abc : correspond uniquement à la clé « abc ».

    --filterlist=abc|efg|m

    Remarque

    À la fin de l'exécution de la commande, l'outil affiche un résumé dans la ligne de commande. L'exemple ci-dessous indique deux clés incohérentes. Une valeur de 0 signifie que les données sont cohérentes.

    all finish successfully, totally 2 keys or fields conflict
  5. Consultez la base de données SQLite3 contenant les clés incohérentes.

    1. Exécutez sqlite3 result.db.3.

      Remarque

      Par défaut, la liste des données incohérentes est enregistrée dans result.db.3.

    2. Exécutez SELECT * FROM key;.

      [root@redis-server RedisFullCheck]# sqlite3 result.db.3
      SQLite version 3.7.17 2013-05-20 00:56:22
      Enter ".help" for instructions
      Enter SQL statements terminated with a ";"
      sqlite> SELECT * FROM key;
      1|differentkey1|string|lack_target|0|10|0
      2|differentkey2|list|lack_target|0|4|0
      sqlite>
      Remarque

      La base de données SQLite3 contient deux tables : key et field.

      • La table key stocke les clés incohérentes.

      • Pour les types de données hash, set, zset et list, la table field stocke les détails concernant les données incohérentes.