75

我有一个长文本文件,其中包含我需要使用 redis 命令行界面执行的 redis 命令:

例如

DEL 9012012
DEL 1212
DEL 12214314

等等

我似乎想不出一种方法来比一次输入命令更快。有几十万行,所以我不想把它们全部堆成一个 DEL 命令,它们也不需要一次全部运行。

4

4 回答 4

101

以下代码适用于我在 mac 上使用 redis 2.4.7

./redis-cli < temp.redisCmds

这能满足你的要求吗?或者您是否想看看是否有办法以编程方式更快地做到这一点?

于 2012-05-30T21:02:38.397 回答
67

如果您不想制作文件,请使用echo\n

echo "DEL 9012012\nDEL 1212" | redis-cli
于 2015-03-11T08:27:12.017 回答
19

redis-cli --pipe用于批量插入。它从 2.6-RC4 和 Redis 2.4.14 开始可用。例如:

cat data.txt | redis-cli --pipe

更多信息:http ://redis.io/topics/mass-insert

于 2013-09-29T20:49:18.460 回答
6

我知道这是一个旧线程,但添加这个是因为它似乎错过了其他答案,而且对我来说效果很好。

如果您不想使用 echo 或显式添加或创建新文件,则使用heredoc在这里效果很好 -\n

redis-cli <<EOF
select 15
get a
EOF
于 2020-10-08T16:58:44.963 回答