当前位置:   article > 正文

python redis读写报错:Broken Pipe Error Redis_redis error: broken pipe

redis error: broken pipe

问题:

将较大文件利用python 的redis包set,get时报错:

  1. BrokenPipeError: [Errno 32] Broken pipe
  2. redis.exceptions.ConnectionError: Error 104 while writing to socket. Connection reset by peer.

原因:

set或get数据时,数据过大,则会报以上错误。

Redis' String data type can be at most 512MB

解决方式:

利用split命令将大文件分割为较小文件:

  方法1:指定分割后文件行数

  通过指定分割后文件的行数来进行文件分割。

split -l 100000 online_discount_end2018-09-26 online_discount_end2018-09-26split

      分割后效果,将75兆大小文件(1392082 行),按每个文件100000行分割: 

  1. $ wc -l online_discount_end2018-09-26*
  2. 1392082 online_discount_end2018-09-26
  3. 100000 online_discount_end2018-09-26splitaa
  4. 100000 online_discount_end2018-09-26splitab
  5. 100000 online_discount_end2018-09-26splitac
  6. 100000 online_discount_end2018-09-26splitad
  7. 100000 online_discount_end2018-09-26splitae
  8. 100000 online_discount_end2018-09-26splitaf
  9. 100000 online_discount_end2018-09-26splitag
  10. 100000 online_discount_end2018-09-26splitah
  11. 100000 online_discount_end2018-09-26splitai
  12. 100000 online_discount_end2018-09-26splitaj
  13. 100000 online_discount_end2018-09-26splitak
  14. 100000 online_discount_end2018-09-26splital
  15. 100000 online_discount_end2018-09-26splitam
  16. 92082 online_discount_end2018-09-26splitan
  17. 2784164 total

 其中后缀aa,ab,,,都是自动生成。

  方法2:指定分割后文件大小

split -b 5m online_discount_end2018-09-26 online_discount_end2018-09-26split

 

参考:

  1. broken-pipe-error-redis
  2. http://blog.sina.com.cn/s/blog_4dd4753901017jwj.html
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/160099
推荐阅读
相关标签
  

闽ICP备14008679号