redis.exceptions.ConnectionError:错误-2连接到本地主机:6379。姓名或服务未知 [英] redis.exceptions.ConnectionError: Error -2 connecting to localhost:6379. Name or service not known

查看:4633
本文介绍了redis.exceptions.ConnectionError:错误-2连接到本地主机:6379。姓名或服务未知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在服务器中运行我的代码时出现此错误,我的env是debian, Python2.7.3

 回溯(最近一次调用):
文件fetcher.py,第4行,在< module>
import mirad.fetcher_tasks as tasks
文件/home/mirad/backend/mirad/fetcher_tasks.py,第75行,在< module>
redis_keys = r.keys('*')
文件/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/client.py,第863行,in keys
return self.execute_command('KEYS',pattern)
文件/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/client.py ,line 534,in execute_command
connection.send_command(* args)
文件/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/connection.py ,行532,在send_command
self.send_packed_command(self.pack_command(* args))
文件/home/mirad/backend/venv/local/lib/python2.7/site-packages/ redis / connection.py,行508,在send_packed_command
self.connect()
文件/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/ connection.py,行412,在连接
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError:错误-2连接到本地主机:6379。姓名或服务未知。

当我运行 redis-cli 正确无误:

  $ redis-cli 
127.0.0.1:6379>


解决方案

是你当前的Debian环境不明。
从Traceback,我看到你正在尝试使用主机名作为localhost连接,

  r_server = redis.Redis但是,您的系统无法理解localhost,因为您的系统无法识别localhost ,在host文件中输入,即说127.0.0.1是localhost。在/ etc / hosts中添加以下代码

  127.0.0.1 localhost 

否则使用以下命令连接redis:

  r_server = redis。 Redis(host =localhost,port = 6379)


I have this error when I run my code in server, my env is debian, and Python2.7.3

Traceback (most recent call last):
  File "fetcher.py", line 4, in <module>
    import mirad.fetcher_tasks as tasks
  File "/home/mirad/backend/mirad/fetcher_tasks.py", line 75, in <module>
    redis_keys = r.keys('*')
  File "/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/client.py", line 863, in keys
    return self.execute_command('KEYS', pattern)
  File "/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/client.py", line 534, in execute_command
    connection.send_command(*args)
  File "/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/connection.py", line 532, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/connection.py", line 508, in send_packed_command
    self.connect()
  File "/home/mirad/backend/venv/local/lib/python2.7/site-packages/redis/connection.py", line 412, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error -2 connecting to localhost:6379. Name or service not known.

when I run redis-cli it works correctly without any error:

$ redis-cli 
127.0.0.1:6379> 

解决方案

It seems that you are trying connect redis with server that is unidentified by your current Debian environment. From Traceback, I see you are trying to connect using host name as localhost ,

r_server=redis.Redis(host="localhost",port=6379)

But , your system is unable to understand "localhost" , make entry in hosts file i.e saying 127.0.0.1 is localhost. add below code in /etc/hosts

127.0.0.1 localhost

otherwise connect redis using below command ;

r_server=redis.Redis(host="localhost",port=6379) 

这篇关于redis.exceptions.ConnectionError:错误-2连接到本地主机:6379。姓名或服务未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆