You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Portalocker创建RedisLock报连接被拒错误如何排查解决

问题原因

这个报错和Portalocker的锁实现逻辑无关,Error 10061是TCP连接被目标地址直接拒绝的标准系统错误:RedisLock默认无参构造时不会加载任何自定义配置,会直接尝试连接localhost:6379上运行的无密码Redis默认实例,连接失败就会抛出你看到的异常。

修复步骤
  • 先确认本地Redis服务正常启动
    不同环境启动Redis的常用操作:
    • Windows(解压版Redis):进入Redis安装目录,直接运行redis-server.exe启动服务;如果是安装版,去系统服务列表找到Redis服务手动启动
    • Linux(Systemd系发行版):执行sudo systemctl start redis
    • macOS(Homebrew安装):执行brew services start redis
      启动后执行redis-cli ping,命令行返回PONG就代表本地默认Redis实例运行正常,此时再运行你原来的代码就不会报连接错误。
  • 如果你的Redis服务不在本地、改了默认端口、设置了密码,不要用默认的RedisLock构造方式,手动传入自定义Redis客户端即可:
    import portalocker
    import redis
    
    # 按你实际的Redis部署信息修改参数
    custom_redis = redis.Redis(
        host="192.168.1.100", # 替换成你的Redis实际地址
        port=7001, # 替换成实际监听端口
        password="your_redis_pass", # 没设置密码就删除该行
        db=0
    )
    lock = portalocker.RedisLock("some_lock_channel_name", redis_client=custom_redis)
    
    with lock:
        print("do something here")
    
  • 如果Redis确认启动、参数也配对了还是连不上,排查两个配置项:
    1. 检查Redis配置文件的bind项,确保你要连接的网卡地址在绑定列表里,不要只绑定单向地址
    2. 检查系统防火墙、安全组规则,确保对应Redis端口没有被拦截

内容的提问来源于stack exchange,提问作者user3053216

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:00:46