내 환경은 Mac OS 10.9.2, python3.3, redis-2.6.9 (64 비트)입니다.로컬 호스트 연결 중 Redis 오류 8 : 6379. nodename 또는 servname이 제공되거나 알려지지 않음
내가 데이터를 기록하기 위해 동일한 레디 스 인스턴스를 사용하는 많은 스레드 (nealy 2000), 그러나 어떤 스레드가 다음과 같은 예외를 던져 :
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 250, in connect
sock = self._connect()
File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 268, in _connect
self.socket_timeout)
File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 417, in create_connecti
on
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
Traceback (most recent call last):
File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 901, in _bootstrap_i
nner
self.run()
File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 858, in run
self._target(*self._args, **self._kwargs)
File "proxypool.py", line 289, in _efficiency_proxy
self.rdb.zadd(db_proxy, time_delay, proxy)
File "/usr/local/lib/python3.3/site-packages/redis/client.py", line 1345, in zadd
return self.execute_command('ZADD', name, *pieces)
File "/usr/local/lib/python3.3/site-packages/redis/client.py", line 464, in execute_command
connection.send_command(*args)
File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 334, in send_command
self.send_packed_command(self.pack_command(*args))
File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 316, in send_packed_command
self.connect()
File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 253, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 8 connecting localhost:6379. nodename nor servname provided, or not known.
이 문제를 해결하기 위해 어떤 방법이 있나요?
이 예외가 발생하면 redis 서버에 연결을 시도 했으므로 ulimit -n
을 사용하여 큰 번호를 설정했지만 두 가지 방법이 작동하지 않습니다.
주소가 변수 (호스트, 포트)에 할당되는 코드를 보여주십시오. – Agis
@Agis, 로컬 redis의 기본값 (호스트, 포트)을 사용합니다. – flyer