连接错误:写入套接字时出错104。连接由对等重置。
环境: ubuntu: 16.04 python: 3.6 PC总内存: 32G
我已经安装了redis'3.0.6'。
当您尝试插入500000个数据时,它会成功,但当您尝试插入4000万个大数据时,它会失败。
当尝试将Python数据帧插入redis时,由于容量太大而失败。
数据插入成功:
1. r = redis.StrictRedis(host='localhost', port=6379, db=0)
2.log_df_50.shape
-> (500000, 6)
3.r.setex('log_df_50',100,log_df_50.to_json())
-> True
数据插入失败:
1.r = redis.StrictRedis(host='localhost', port=6379, db=0)
2. log_df.shape
-> (41757802, 6)
3. r.setex('session',100,log_df.to_json())
ConnectionResetError Traceback(最近的调用最后)~/anaconda3/envs/Colabo/lib/python3.6/site-pack/redis/connection.py在send_packed_command(自己,命令,check_health)705中的项目在命令:-
~/anaconda3/envs/Colabo/lib/python3.6/site-包/redis/_compat.py在sendall(袜子,*args,**kwargs)8 def sendall(袜子,*args,**kwargs): ----
连接重置错误:[Errno 104]连接由对等重置
在处理上述异常期间,发生了另一个异常:
中的ConnectionError回溯(最近一次呼叫)----
setex(self,name,time,value)1820中的~/anaconda3/envs/Colabo/lib/python3.6/site-packages/redis/client.py,如果是instance(time,datetime.timedelta):1821 time=int(time.total_seconds())-
~/anaconda3/envs/Colabo/lib/python3.6/site-packages/redis/client.py在execute_命令(self,*args,**选项)898 conn=self.connection或pool.get_connection(命令名,**选项)899尝试:--
~/anaconda3/envs/Colabo/lib/python3.6/site-pack/redis/connection.py在send_command(自己,*args,**kwargs)724"打包并发送命令到Redis服务器"725self.send_packed_command(self.pack_command(*args),--
~/anaconda3/envs/Colabo/lib/python3.6/site-packages/redis/connection.py在send\u packed\u命令(self,command,check\u health)716 errmsg=e.args[1]717 raise ConnectionError(“写入套接字时出现错误%s.%s”。%--
连接错误:写入套接字时出错104。连接由对等重置。
原因有什么线索吗?
如何将Python大容量数据框插入redis?
我应该怎么做才能解决这个问题?
我也有同样的问题。在中设置ssl=True
1. r = redis.StrictRedis(host='localhost', port=6379, db=0, ssl=True)
帮我解决了
我认为问题在于Redis协议中键/值的512 MB限制。
https://redis.io/topics/protocol
https://redis.io/topics/data-types-intro
现在你对此无能为力。
您可能需要将数据帧切成更小的片段。
更新:
您还可以使用较新的Redis(最低5.0)并在Redis.conf
中增加proto-max-bulk-len
。https://github.com/redis/redis/issues/7354
我还必须增加客户端查询缓冲区限制
。
我使用HttpClient4.4发送get和post请求。并且我刚刚创建了一个httpclient的simpile包装器以方便使用: 当我使用这个类发送post请求时。奇怪的事情发生了: 第一次,我向服务器发送一个post请求,一分钟后就可以了,我向服务器发送一个同样的请求,也可以了。但几分钟后,我发出了一个同样的请求,有些不对劲: 但是,我仍然向服务器发送一个相同的请求,它又可以了。 每次我按照
当使用Python2.7和从API检索数据时,我得到了错误
问题内容: 我使用httpclient 4.4发送get和post请求。我刚刚创建了一个简单的httpclient包装器,以方便使用: 当我使用此类发送帖子请求时。发生了一些奇怪的事情: 第一次,我将发布请求发送到服务器,几分钟后没问题,我将相同的请求发送到服务器,也行。但是几分钟后,我发送了相同的请求,出现了错误: 但是之后,我仍然向服务器发送了相同的请求,再次可以。 每当我按照上述步骤尝试时,
我还尝试提供私有IP和端口4444,运行脚本后,服务器代理立即关闭,并且收到错误java.net.socketException:Connection reset by Peer:socket write error。 > JMeter控制台日志 我做了telnet privateip:4444,并通过了test命令。服务器代理返回yep数据。此设置正在本地框上工作。不在AWS盒子上。 请让我知道
我使用的是是一款开源的100%纯驱动程序,适用于。 -我有连接池配置下面 有时,我会遇到以下异常情况:无法从sql server获取连接。我不知道为什么? java.sql.SQLExc0019: I/O错误:连接重置由对等:套接字写入错误net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1052)net.sourceforge.j
我正在尝试使用套接字实现一个HTTP服务器。如果客户端(例如浏览器)请求目录,服务器将显示可用文件列表。当客户端请求文件时就会出现问题。我得到以下错误: stacktrace显示问题来自方法: 但我想不出有什么问题。你能帮帮我吗? 编辑 谢谢大家的回答。在我读了你的答案后,我明白了问题是插座出现错误的时候。这是我的错误代码: 我的新代码是这样的: