我有一个redis命令的长文本文件,需要使用redis命令行界面执行:例如,在
DEL 9012012 DEL 1212 DEL 12214314
字符串等等。我似乎找不到一种比一次输入命令更快的方法。有几十万行代码,所以我不想把它们都堆到一个DEL命令中,它们也不需要同时运行。
piah890a1#
下面的代码适用于我与redis 2.4.7在mac上
./redis-cli < temp.redisCmds
字符串这符合你的要求吗?或者你想看看是否有一种方法可以更快地编程?
bxgwgixi2#
如果不想创建文件,请使用echo和\n
echo
\n
echo "DEL 9012012\nDEL 1212" | redis-cli
字符串
7hiiyaii3#
redis-cli --pipe可用于大规模插入。它从2.6-RC 4和Redis 2.4.14开始提供。举例来说:
redis-cli --pipe
cat data.txt | redis-cli --pipe
字符串更多信息,请访问:http://redis.io/topics/mass-insert
yxyvkwin4#
我知道这是一个古老的线索,但添加这个,因为它似乎错过了其他答案,一个对我很好。在这里使用heredoc很好,如果你不想使用echo或者显式添加\n或者创建一个新文件-
redis-cli <<EOF select 15 get a EOF
v9tzhpje5#
我想把它放在这里,因为我搜索了我的情况下,发现这个问题的道路沿着。我需要通过npm脚本执行redis多行命令,并在redis命令中解析变量(redis作为Docker容器实现)。为此,我创建了名为redis-delete-key.txt的txt文件,命令如下:
SELECT 1 DEL ${KEY}
字符串在这里,我选择所需的redis db并删除密钥。在package.json中,我添加了以下命令:
"scripts": { ... "delete-key-from-redis": "envsubst <redis-delete-key.txt | docker exec -i redis redis-cli" }
型其中envsubst是替换文件中变量的linux命令。为了传递变量,我像这样执行npm命令:
KEY="anykey" npm run delete-key-from-redis
型对我有效,希望对某人有帮助。
5条答案
按热度按时间piah890a1#
下面的代码适用于我与redis 2.4.7在mac上
字符串
这符合你的要求吗?或者你想看看是否有一种方法可以更快地编程?
bxgwgixi2#
如果不想创建文件,请使用
echo
和\n
字符串
7hiiyaii3#
redis-cli --pipe
可用于大规模插入。它从2.6-RC 4和Redis 2.4.14开始提供。举例来说:字符串
更多信息,请访问:http://redis.io/topics/mass-insert
yxyvkwin4#
我知道这是一个古老的线索,但添加这个,因为它似乎错过了其他答案,一个对我很好。
在这里使用heredoc很好,如果你不想使用echo或者显式添加
\n
或者创建一个新文件-字符串
v9tzhpje5#
我想把它放在这里,因为我搜索了我的情况下,发现这个问题的道路沿着。我需要通过npm脚本执行redis多行命令,并在redis命令中解析变量(redis作为Docker容器实现)。为此,我创建了名为redis-delete-key.txt的txt文件,命令如下:
字符串
在这里,我选择所需的redis db并删除密钥。
在package.json中,我添加了以下命令:
型
其中envsubst是替换文件中变量的linux命令。
为了传递变量,我像这样执行npm命令:
型
对我有效,希望对某人有帮助。