2012-05-30 4 views
32

Cli У меня есть длинный текстовый файл Redis команды, которые мне нужно выполнить, используя Redis интерфейс командной строки:Исполнительные партии команд, использующих Redis

например

DEL 9012012

DEL 1212

DEL 12214314

т.д.

я не могу показаться, чтобы выяснить способ ввода команды быстрее, чем по одному за раз. Есть несколько сотен тысяч строк, поэтому я не хочу просто накладывать их все на одну команду DEL, им также не нужно все запускать сразу.

ответ

47

следующий код работает для меня с Redis 2.4.7 на макинтош

./redis-cli < temp.redisCmds 

ли это удовлетворить ваши требования? Или вы хотите посмотреть, есть ли способ программно сделать это быстрее?

+0

Если проверка подлинности, а затем использовать 'Redis-Cli -a arun

+0

В Windows PowerShell: 'Get-Content cmds.txt | redis-cli' –

7

redis-cli --pipe может использоваться для массового ввода. Он доступен с 2.6-RC4 и в Redis 2.4.14. Например:

cat data.txt | redis-cli --pipe 

Подробнее в: http://redis.io/topics/mass-insert

+1

Если вы хотите выполнить несколько команд, например. выберите # и flushdb, затем используйте решение ControlAltDel, потому что оно не будет работать с помощью опции -pipe. – 10basetom

+0

//, есть ли способ использовать опцию '--pipe', которая позволила бы ей работать для этого вопроса? –

+0

Я смог использовать опцию '--pipe' для создания массового набора команд' EXPIRE', поэтому он работает для других вещей, кроме вставки. Примечание. Я должен был убедиться, что каждая команда в файле была разделена как возвратом каретки _and_ a linefeed, не _just_ a linefeed. – Nathan

37

Если вы не хотите, чтобы файл, используйте echo и \n

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

Работал как очарование для меня! – FearlessFuture

+11

На некоторых ОС вы должны использовать 'echo -e', чтобы заставить ОС интерпретировать' \ n', как ожидалось. Помните, что вы всегда можете изменить default redis dilimited, используя 'redis-cli -d ' – Kirzilla

+0

на CentOS, 'echo -e" DEL 9012012 \ nDEL 1212 "| Redis-cli' –

Смежные вопросы