MODIFIER
Cette réponse n'est plus exacte pour les nouvelles versions de redis. Laisser la réponse pour des raisons historiques.
Si vous êtes prêt à jouer un peu avec les fichiers binaires, vous pouvez facilement combiner les deux fichiers dump.rdb en un seul.
Hypothèses :
- Chaque vidage n'a qu'une seule base de données :la base de données par défaut
- Vous utilisez Redis 2.4.x, et donc la version de vidage est 2 ou 3
Si vous ouvrez le fichier dans un éditeur hexadécimal, c'est le format du fichier RDB -
REDIS000x FE 00 <actual data > FF
Ici -
000x
est le numéro de version rdb. Ce sera très probablement 0002 ou 0003 dans votre casFE
est le sélecteur de base de données, et00
est le numéro de la base de données<actual data>
est les paires clé-valeur dans la base de données actuelle. Vous pouvez traiter cela comme un blob binaire pour votre objectif actuel.FF
est le dernier octet du fichier et indique la fin du fichier rdb
Donc, pour fusionner les deux fichiers rdb, procédez comme suit -
- Créer un nouveau fichier de destination
- Copier tout depuis le premier fichier sauf le dernier
FF
- Copier deux octets
FE 01
pour indiquer le début de la deuxième base de données - REMARQUE :Si vous êtes sûr que les deux bases de données n'ont pas de clés en double et que vous souhaitez les combiner en une seule base de données, ignorez simplement les deux octets
FE 01
mentionné ci-dessus. - À partir du deuxième fichier, ignorez les 11 premiers octets, c'est-à-dire ignorez
REDIS000x FE 00
- Copiez le reste du deuxième fichier, y compris le dernier octet
FF
Vous pouvez maintenant copier ce nouveau dump.rdb dans le répertoire approprié dans redis et redémarrer.
Si vous êtes intéressé, voici une documentation complète sur le format de fichier de vidage Redis, mais vous n'avez pas besoin de tout comprendre pour ce cas d'utilisation simple.