更新
我split
将文件分成多个文件,每个文件大约有 150 万行,没有问题。
尝试将大约 1500 万行正确格式化为Redis Mass Insertion的 SADD 和 HSET 命令导入 Redis 6.0.6,但失败并显示以下消息:
ERR Protocol error: too big mbulk count string
我使用以下命令:
echo -e "$(cat load.txt)" | redis-cli --pipe
我在 redis-cli 中运行 dbsize 命令,它显示在整个时间内没有增加。
我可以使用我编写的格式化应用程序(带有客户端库 redis-plus-plus 的 c++ 应用程序),它可以正确格式化行,写入 std::cout 然后也使用以下命令:
./app | redis-cli --pipe
但它会立即退出,并且仅有时会产生错误消息。
如果我从 load.txt 文件中取出大约 400,000 行并将其加载到一个较小的文件中,然后使用 echo -e 等......它加载得很好。问题似乎是大量的行。
有什么建议么?这不是格式问题afaik。我可以编写我的应用程序以将所有命令写入 Redis,但批量插入应该更快,我更喜欢这条路线。