gpt4 book ai didi

redis - 如何使用Redis 批量插入?

转载 作者:IT王子 更新时间:2023-10-29 05:54:59 26 4
gpt4 key购买 nike

我读过 mass-insert在 redis.io 上提供,但它真的让我感到困惑。我尝试制作一个文件,然后使用“cat data.txt | redis-cli --pipe”插入:

    SET Key0 Value0
SET Key1 Value1
SET Key2 Value3

然后我得到了这个:

    All data transferred. Waiting for the last reply...
ERR wrong number of arguments for 'set' command
ERR unknown command '$4'
ERR wrong number of arguments for 'echo' command
ERR unknown command '$20'

我也试过

    *3<cr><lf>
$3<cr><lf>
SET<cr><lf>
$3<cr><lf>
key<cr><lf>
$5<cr><lf>
value<cr><lf>

然后我得到这个:ERR 协议(protocol)错误:无效的多批量长度

这让我很困惑。谁能给我一个简单的例子?非常感谢。

最佳答案

这里是:

echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | ./redis-cli --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1

您的问题可能来自 cr+lf 分隔符。您可以使用 hexdump -C 命令来检查这一点:

echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C
00000000 2a 33 0d 0a 24 33 0d 0a 73 65 74 0d 0a 24 33 0d |*3..$3..set..$3.|
00000010 0a 6b 65 79 0a 0d 24 35 0d 0a 76 61 6c 75 65 0d |.key..$5..value.|
00000020 0a |.|
00000021

此外,您可能需要检查您的目标是最新的 Redis 实例,而不是 pre-1-2 版本(不支持“unified protocol”)。

注意:以上几行在 zsh 中运行良好。如果你使用 bash,你需要在引号前加一个 $ 来触发 ANSI-C 引用:

echo -n $'*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C

关于redis - 如何使用Redis 批量插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com