更新i split
该文件分为多个文件,每个文件大约有150万行,没有问题。
尝试将大约1500万行sadd和hset命令通过管道传输到redis 6.0.6中,这些命令的格式正确,可以用于redis mass insertion,但是失败了,并显示以下消息:
ERR Protocol error: too big mbulk count string
我使用以下命令: echo -e "$(cat load.txt)" | redis-cli --pipe
我在redis cli中运行dbsize命令,它在整个时间内没有显示任何增加。
我可以使用我编写的格式化应用程序(带有客户端库redis plus的c++应用程序),它可以正确格式化行,写入std::cout,然后使用以下命令:
./app | redis-cli --pipe
但它会立即退出,并且有时只会产生错误消息。
如果我从load.txt文件中提取大约400000行并加载到一个较小的文件中,那么使用echo-e等等。。。。它装得很好。问题似乎是线路太多。
有什么建议吗?这不是格式问题。我可以编写我的应用程序,将所有命令写入redis,但批量插入应该更快,我更喜欢这种方式。
暂无答案!
目前还没有任何答案,快来回答吧!