python远程链接redis 问题记录

文章描述了在Python中尝试连接Redis时遇到的TimeoutError,问题源于连接超时。解决方案包括检查Redis服务是否正常运行,确认6379端口未被占用,以及关闭服务器的防火墙以允许连接。此外,文中还提到防火墙关闭不是长久之计,暗示可能需要寻找更安全的网络配置方法。
摘要由CSDN通过智能技术生成

python远程链接redis问题记录

报错

连接超时,报错信息

Traceback (most recent call last):
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 707, in connect
    sock = self.retry.call_with_retry(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\retry.py", line 51, in call_with_retry
    raise error
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\retry.py", line 46, in call_with_retry
connect
    raise err
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 994, in _connect
    sock.connect(socket_address)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\Codes\myprojects-bookmarks\bookmarks\testredis.py", line 13, in <module>
    r.ping()
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\commands\core.py", line 1205, in ping
    return self.execute_command("PING", **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\client.py", line 1266, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 1461, in get_connection
    connection.connect()
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 711, in connect
    raise TimeoutError("Timeout connecting to server")
redis.exceptions.TimeoutError: Timeout connecting to server
(bookmarks_venv) PS D:\Codes\myprojects-bookmarks> python -u "d:\Codes\myprojects-bookmarks\bookmarks\testredis.py"
Traceback (most recent call last):
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 707, in connect
    sock = self.retry.call_with_retry(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\retry.py", line 51, in call_with_retry
    raise error
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\retry.py", line 46, in call_with_retry
    return do()
           ^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 708, in <lambda>
    lambda: self._connect(), lambda error: self.disconnect(error)
            ^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 1006, in _connect
    raise err
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 994, in _connect
    sock.connect(socket_address)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\Codes\myprojects-bookmarks\bookmarks\testredis.py", line 13, in <module>
    r.ping()
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\commands\core.py", line 1205, in ping
    return self.execute_command("PING", **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\client.py", line 1266, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 1461, in get_connection
    connection.connect()
  File "D:\Codes\myprojects-bookmarks\bookmarks_venv\Lib\site-packages\redis\connection.py", line 711, in connect
    raise TimeoutError("Timeout connecting to server")
redis.exceptions.TimeoutError: Timeout connecting to server

报错解决

关闭服务器的防火墙

system status firewalld.service #查看防火墙状态  关注关键词 : Active ,running开启,dead关闭
system stop firewalld.service #关闭防火墙

报错排查

1.确认redis正常启动,端口是否被占用

lsof -i 6379 #6379是redis默认端口,被占用就关闭进程
kill 9 进程号

2.服务器防火墙是否关闭,这种方式不太安全,正尝试使用其他办法

只记录这些,后续再完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值