Vidage et de restaurer les données d'une clé spécifique dans le redis
Je veux prendre de sauvegarde de la clé particulière dans mon redis qui ont de multiples touches. Mon redis a beaucoup de touches et je ne veux pas prendre de sauvegarde complète de mon redis données. J'ai été en passant par http://redis.io/commands. Là, j'ai trouvé qu'il y est une commande de vidage en ce qui me permet de prendre le dump de la clé comme suit:
redis> dump "myKey"
Mais donne de sortie au format hexadécimal dans le redis console uniquement. Est-il possible de stocker les données d'une clé spécifique dans un fichier et les importer ensuite il touche?
Il pourrait être un peu hors-sujet, puisque vous l'avez demandé une copie de sauvegarde et de restauration (et peut-être sauver ce fichier de sauvegarde quelque part), mais il peut être un bon indicateur de trop: le redis MIGRER de commande prend soin de dumping-la restauration entre les 2 machines, alors qu'il est actuellement limitée commande. Avec redis < 3, la clé sera supprimé à partir de la source de l'instance (ce pourrait être un problème mineur, car vous pouvez facilement sauvegarder votre base de données source avant de migrer, puis de l'utiliser à nouveau après), et je n'étais pas en mesure de trouver une option pour le soutien de l'authentification sur la destination DB.
OriginalL'auteur Joy | 2014-02-18
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous êtes en essayant de dump/restore une clé à partir de la ligne de commande (qui est ce que je devais faire quand j'ai trouvé cette question), Redis a une certaine non-évidente bizarreries. Veuillez voir cette réponse pour une explication plus détaillée.
La réponse courte est de dump/restore comme suit:
Si quelqu'un est intéressé par un script batch pour saisir toutes les clés et de les enregistrer dans des fichiers
#!/bin/bash for each in $( redis-cli KEYS \apikey* ); do redis-cli --raw dump mykey | head -c-1 > dump/$each done
ceux-ci peuvent être utilisés pour importer par la suite avec le script ci-dessus de Brendan WoodOriginalL'auteur Brendan Wood
Écrire un script qui va
DUMP
touches nécessaires, enregistrer la sortie dans les fichiers, puis plus tard, vous pouvez lire ces fichiers et de les pousser à leur contenu à RESTAURATION commande.OriginalL'auteur Sergio Tulentsev
Par la suite à ce post:
Si cela ne fonctionne pas pour vous et vous obtenez une erreur du type: tête: illégale nombre d'octets -- -1
Ensuite modifier la commande dump sans la tête de commande:
redis-cli --raw dump maclé > myfile
Maintenant, ouvrez le fichier de vidage avec sublime sur le mac ou textpad sur le pc et supprimer les deux derniers caractères et de les enregistrer et ensuite faire de la restauration.
C'étaient mes deux dernières lignes:
J'ai enlevé "0a" et enregistré et la restauration travaillé, par exemple,
OriginalL'auteur user1178516