使用redis cli执行批命令
我有一个很长的redis命令文本文件,需要使用redis命令行界面执行: e、 g 等等使用redis cli执行批命令,redis,Redis,我有一个很长的redis命令文本文件,需要使用redis命令行界面执行: e、 g 等等 我似乎想不出一种方法可以比一次一个更快地输入命令。有几十万行,所以我不想把它们都堆成一个DEL命令,它们也不需要同时运行。下面的代码适用于我在mac上的redis 2.4.7 ./redis-cli < temp.redisCmds 那能满足你的要求吗?或者,您想看看是否有一种方法可以通过编程更快地完成此操作?redis cli-pipe可用于大规模插入。它从2.6-RC4开始提供,并在Redis
我似乎想不出一种方法可以比一次一个更快地输入命令。有几十万行,所以我不想把它们都堆成一个DEL命令,它们也不需要同时运行。下面的代码适用于我在mac上的redis 2.4.7
./redis-cli < temp.redisCmds
那能满足你的要求吗?或者,您想看看是否有一种方法可以通过编程更快地完成此操作?redis cli-pipe可用于大规模插入。它从2.6-RC4开始提供,并在Redis 2.4.14中提供。
例如:
cat data.txt | redis-cli --pipe
更多信息请参见:如果您不想创建文件,请使用echo和\n
我知道这是一个古老的线索,但添加这一点,因为它似乎错过了其他答案,一个适合我 如果您不想使用echo或显式添加或创建新文件,\n则使用在此处非常有效-
redis cli如果要执行多个命令,例如select和flushdb,则使用ControlAltDel的解决方案,因为使用-pipe选项无法工作。//,是否有方法使用-pipe选项来解决此问题?我可以使用-pipe选项执行大量命令,所以它适用于插入以外的事情。注意:我必须确保文件中的每个命令都由回车符和换行符分开,而不仅仅是换行符。这对我来说非常有用!在某些操作系统上,应使用echo-e使操作系统按预期进行解释。记住,在CentOS、echo-e DEL 9012012\nDEL 1212 | redis cliOr上使用redis cli-d始终可以更改默认的redis dilimited,如果您在bash:redis cli上,如果经过身份验证,则使用redis cli-a
cat data.txt | redis-cli --pipe
echo "DEL 9012012\nDEL 1212" | redis-cli