代码如下:
@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);
}
linux防火墙已关闭,ping linux也是通的。经查资料,redis配置文件中注释掉bind 127.0.0.1即可(注释后,即允许其他设备访问)

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

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

修改配置文件后,同样要重启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> |