Exécution de lots de commandes à l'aide de redis cli

j'ai un long fichier texte de commandes redis que je dois exécuter en utilisant l'interface en ligne de commande redis:

e.g.

DEL 9012012

DEL 1212

DEL 12214314

etc.

je n'arrive pas à trouver un moyen de saisir les commandes plus rapidement qu'un à la fois. Il y a plusieurs centaines de milliers de lignes, donc je ne veux pas les empiler toutes dans une seule commande DEL, elles n'ont pas non plus besoin de courir toutes en même temps.

37
demandé sur LTME 2012-05-30 23:22:18

3 réponses

le code suivant fonctionne pour moi avec redis 2.4.7 sur mac

./redis-cli < temp.redisCmds

cela répond-il à vos exigences? Ou cherchez-vous à voir s'il y a un moyen de le faire programmatiquement plus rapidement?

57
répondu ControlAltDel 2014-05-12 20:29:49

si vous ne voulez pas créer un fichier, utilisez echo et \n

echo "DEL 9012012\nDEL 1212" | redis-cli
43
répondu Sanghyun Lee 2015-03-11 08:27:12

redis-cli --pipe peut être utilisé pour l'insertion de masse. Il est disponible depuis le 2.6-RC4 et dans le Redis 2.4.14. Par exemple:

cat data.txt | redis-cli --pipe

Plus d'infos dans: http://redis.io/topics/mass-insert

8
répondu zucaritask 2014-07-22 15:54:34