redis.exceptions.ConnectionError:错误-2连接到本地主机:6379。姓名或服务未知 [英] redis.exceptions.ConnectionError: Error -2 connecting to localhost:6379. Name or service not known
问题描述
我在服务器中运行我的代码时出现此错误,我的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屋!