本地测试,不使用pass连接另一台电脑Windows版的redis出现异常,如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset by peer: socket write error
at redis.clients.jedis.Connection.flush(Connection.java:291)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:194)
at redis.clients.jedis.BinaryJedis.flushAll(BinaryJedis.java:462)
at com.dc.main.InitRedis.flushAll(InitRedis.java:666)
at com.dc.main.InitRedis.main(InitRedis.java:678)
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at redis.clients.util.RedisOutputStream.flushBuffer(RedisOutputStream.java:31)
at redis.clients.util.RedisOutputStream.flush(RedisOutputStream.java:213)
at redis.clients.jedis.Connection.flush(Connection.java:288)
... 4 more
Disconnected from the target VM, address: '127.0.0.1:55301', transport: 'socket'
Process finished with exit code 1
检查发现是,redis.conf配置文件里面的保护模式默认是开启的,即protected-mode yes。
解决方法:
1、关闭protected-mode模式 ,即protected-mode no
2、配置bind或者设置连接redis的密码