千锋扣丁学堂Linux培训之Redis允许远程连接实现方法

今天千锋扣丁学堂Linux培训老师给大家分享一篇关于Linux下Redis允许远程连接实现方法的详细介绍,希望对同学们学习linux有所帮助,下面我们一起来看一下吧。

千锋扣丁学堂Linux培训之Redis允许远程连接实现方法

Linux安装好Redis之后,使用Java进行连接,Java代码如下

package com.wzj.demo.test;
 
import redis.clients.jedis.Jedis;
 
/**
 * Created by wzj on 2018/3/29.
 */
public class RedisJava
{
 public static void main(String[] args)
 {
 //连接本地的 Redis 服务
 Jedis jedis = new Jedis("192.168.3.45");
 System.out.println("连接成功");
 
 //设置 redis 字符串数据
 jedis.set("runoobkey", "www.runoob.com");
 
 // 获取存储的数据并输出
 System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
 }
}

报如下错误:

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset
 at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
 at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
 at redis.clients.jedis.Protocol.process(Protocol.java:151)
 at redis.clients.jedis.Protocol.read(Protocol.java:215)
 at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
 at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
 at redis.clients.jedis.Jedis.set(Jedis.java:121)
 at com.wzj.demo.test.RedisJava.main(RedisJava.java:17)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.net.SocketException: Connection reset
 at java.net.SocketInputStream.read(SocketInputStream.java:209)
 at java.net.SocketInputStream.read(SocketInputStream.java:141)
 at java.net.SocketInputStream.read(SocketInputStream.java:127)
 at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)
 ... 12 more

使用Telnet192.168.3.456379,发现端口是不通的。

通过网上查找分析,原因是:Redis默认只允许本地连接,不允许其他机器连接,需要进行如下修改:

(1)修改redis.conf文件,把bind127.0.0.1::1这一行注释掉。

(2)修改redis.conf文件,protected-mode要设置成no

(3)启动的时候,需要指定redis.conf文件,执行./src/redis-serverredis.conf命令

千锋扣丁学堂Linux培训之Redis允许远程连接实现方法

设置之后,重启测试,发现Java代码可以正常连接了。

以上就是关于千锋扣丁学堂Linux培训之Redis允许远程连接实现方法的全部内容,希望能给大家一个参考,想要学好Linux开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Linux学习路线图辅助学员学习,此外还有与时俱进的Linux课程体系和Linux视频教程供大家学习,想要学好Linux开发技术的小伙伴快快行动吧。扣丁学堂Linux技术交流群:422345477。

相关推荐