2011-01-21 5 views
3

Comment puis-je forcer Redis à effectuer une sauvegarde de blocage? J'utilise la gemme Ruby Redis, mais je crois que cette question n'est pas spécifique à cette bibliothèque. Il semble que la commande SAVE et les commandes BGSAVE semblent s'essouffler en arrière-plan, provoquant des erreurs "-RAR en arrière-plan en cours" sur les appels suivants.Redis Blocking Enregistrer

Espérons que ce serait un appel ennuyeux et synchrone qui bloque toutes les autres commandes Redis jusqu'à ce que la sauvegarde sur "dump.rdb" soit terminée. Et j'espère que cela ne nécessitera pas l'arrêt du serveur, avec "/etc/init.d/redis-server". Je suppose que je devrais interroger avec la commande LASTSAVE?

Répondre

0

Redis # save fait exactement cela. Quelle version de Redis et redis gem utilisez-vous?

7

si vous STOCKER, mais vous obtenez une erreur d'un arrière-plan de sauvegarde en cours, cela signifie qu'il ya aussi un BGSAVE en cours, becuase un de ceci est vrai:

1) Quelqu'un a appelé BGSAVE 2) Redis est configuré pour enregistrer de temps en temps (par défaut).

Votre SAVE échoue donc car une sauvegarde est déjà en cours. Vous pouvez vérifier si un arrière-plan est en cours et quand il est terminé, vérifiez la sortie INFO.