Batch commando’s uitvoeren met redis cli

Ik heb een lang tekstbestand met redis-opdrachten die ik moet uitvoeren met behulp van de redis-opdrachtregelinterface:

bijv.

DEL 9012012
DEL 1212
DEL 12214314

enz.

Ik kan geen manier vinden om de commando’s sneller dan één tegelijk in te voeren. Er zijn enkele honderdduizenden regels, dus ik wil ze niet allemaal in één DEL-commando opstapelen, ze hoeven ook niet allemaal tegelijk te worden uitgevoerd.


Antwoord 1, autoriteit 100%

de volgende code werkt voor mij met redis 2.4.7 op mac

./redis-cli < temp.redisCmds

Voldoet dat aan uw eisen? Of ben je op zoek naar een manier om het programmatisch sneller te doen?


Antwoord 2, autoriteit 66%

Als je geen bestand wilt maken, gebruik dan echoen \n

echo "DEL 9012012\nDEL 1212" | redis-cli

Antwoord 3, autoriteit 19%

De redis-cli --pipekan worden gebruikt voor massa-invoeging. Het is beschikbaar sinds 2.6-RC4 en in Redis 2.4.14.
Bijvoorbeeld:

cat data.txt | redis-cli --pipe

Meer info in: http://redis.io/topics/mass-insert


Antwoord 4, autoriteit 6%

Ik weet dat dit een oude, oude thread is, maar ik heb dit toegevoegd omdat het tussen andere antwoorden lijkt te worden gemist, en een die goed werkt voor mij.

Het gebruik van heredocwerkt hier goed, als je dat niet wilt om echo te gebruiken of expliciet \ntoe te voegen of een nieuw bestand aan te maken –

redis-cli <<EOF
select 15
get a
EOF

Other episodes