복붙노트

[REDIS] jedis를 사용하여 레디 스에 연결할 수 없습니다

REDIS

jedis를 사용하여 레디 스에 연결할 수 없습니다

레디 스 버전 : 3.2.0 Jedis 버전 : 2.8.1

다음은 레디 스에 연결하기위한 내 자바 코드는 다음과 같습니다

public class TestRedis {
public static void main(String[] args) {
    String host = args[0];
    int port = Integer.parseInt(args[1]);
    try (Jedis jedis = new Jedis(host, port)) {
        System.out.println("Connected to jedis " + jedis.ping());
    } catch(Exception e){
        e.printStackTrace();
    }
}

}

나는 레디 스가 설치되어있는 시스템에서이 프로그램을 실행하고 있습니다. 이 기계의 IP 주소가 192.168.1.57입니다

내가 호스트 = 인수로 "localhost"를 포트 = "6379"를 제공하는 경우, 레디 스와 연결이 성공적으로 설립했다.

내가 인수에서 호스트 = "192.168.1.57"와 포트 = "6379"를 제공한다면, 나는 예외 아래로 끝날 :

redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused
    at redis.clients.jedis.Connection.connect(Connection.java:164)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80)
    at redis.clients.jedis.Connection.sendCommand(Connection.java:100)
    at redis.clients.jedis.Connection.sendCommand(Connection.java:95)
    at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:93)
    at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:105)
    at TestRedis.main(TestRedis.java:14)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at redis.clients.jedis.Connection.connect(Connection.java:158)
    ... 6 more

도와주세요...

해결법

  1. ==============================

    1.바인딩 및 보호 모드 : 몇이 영향을 미치는 설정이 있습니다. 그들은 새로 설치할와 보안의 기준을 제공하기 위해 함께 작동합니다.

    바인딩 및 보호 모드 : 몇이 영향을 미치는 설정이 있습니다. 그들은 새로 설치할와 보안의 기준을 제공하기 위해 함께 작동합니다.

    당신의 redis.conf 파일에 다음을 찾아서 주석 :

    bind 127.0.0.1
    

    그 앞에 #을 추가 :

    # bind 127.0.0.1
    

    당신이 그것을 주석 오히려하지 않을 경우 또는, 당신은 또한의 IP를 추가 할 수 있습니다 eth0를 / EM1 인터페이스 그것으로,이 같은 :

    bind 127.0.0.1 192.168.1.57
    

    당신이 암호 보안을 사용하지 않는 또한, 당신은 또한 변화에 의해 보호 모드를 해제해야합니다 :

    protected-mode yes
    

    에:

    protected-mode no
    

    당신은 관련 문서를 읽고 이러한 변화의 모두의 보안 의미를 알고 있어야합니다.

    이러한 변경 한 후 레디 스를 다시 시작합니다.

  2. from https://stackoverflow.com/questions/37867633/cannot-connect-to-redis-using-jedis by cc-by-sa and MIT license