【问题标题】:Is Redis mass insertion (using client's --pipe) so restricted?Redis 大规模插入(使用客户端的 --pipe)是否受到如此限制?
【发布时间】:2014-12-04 22:13:05
【问题描述】:

我根据redis的批量插入协议准备了一个文件,一切正常。到了一定程度……

如果文件包含多达 775 个命令,则一切正常:

% redis-cli --pipe < in.redis
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 775

但是从 776 条命令开始,我得到的是:

% redis-cli --pipe < in.redis
Error writing to the server: No error

有这么小的限制似乎不合理。
另外,如您所见,错误消息很可疑。

有人见过这样的行为吗?任何帮助,将不胜感激。

我运行的是win64版本的redis(2.8.9版)

【问题讨论】:

  • 第776行的内容是什么?您是否尝试将其替换为其他内容?
  • 请注意,每个命令不止一行,所以大约有 5500 行。但无论如何:不管第 776 条命令是什么,都会出现这个奇怪的错误(而

标签: redis bulkinsert


【解决方案1】:

在某些 shell 中,Redis 协议所需的 \r 和 \n 字节似乎存在解释器错误的可能性。您报告的错误消息不完全匹配,但行为听起来有点类似于这个 SO 问题中描述的内容:

Redis multi insert issue

远射,但你可以试试这个:

echo "$(cat in.redis)" | redis-cli --pipe

【讨论】:

  • 是的,看过那些讨论,但我用的是windows,“hexdump -C
猜你喜欢
  • 2012-02-16
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2018-11-27
  • 1970-01-01
  • 2015-05-26
相关资源
最近更新 更多