代码如下:

@Test
    public void test(){
        JedisPool pool = new JedisPool(new JedisPoolConfig(), IPADDRESS, PORT, TIMEOUT); 
        Jedis jedis = pool.getResource();
        jedis.set("name", "cc");
        String name = jedis.get("name");
        System.out.println(name);
    }

 

redis连不上主机 redis突然连不上_redis连不上主机

 

 

 linux防火墙已关闭,ping linux也是通的。经查资料,redis配置文件中注释掉bind 127.0.0.1即可(注释后,即允许其他设备访问)

redis连不上主机 redis突然连不上_redis配置_02

 修改配置文件后,重启redis服务再次连接,报如下异常

redis连不上主机 redis突然连不上_重启_03

异常描述大致是说,redis正在受保护的状态下运行,并且给了你4中解决办法。这里我们选用第4种,提供一个验证密码。

还是在redis配置文件中,修改requirepass password,如下

 

redis连不上主机 redis突然连不上_redis连不上主机_04

修改配置文件后,同样要重启redis服务。(也可以使用命令修改验证密码:config set requirepass password)

 

总结一下:

1.关闭LINUX上的防火墙

2.修改redis配置文件中的本地绑定(注释掉bind 127.0.0.1)

3.提供验证密码

 

最终代码如下:

@Test
    public void test(){
        JedisPool pool = new JedisPool(new JedisPoolConfig(), IPADDRESS, PORT, TIMEOUT); 
        Jedis jedis = pool.getResource();
        jedis.auth("wsys");        //多了验证
        jedis.set("name", "cc");
        String name = jedis.get("name");
        System.out.println(name);
    }

 

附带上jedis相关JAR包 (MAVEN):

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.8.1</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency>