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

2019-07-01 14:35:02 1988浏览

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



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命令



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

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


                          【扫码进入HTML5VIP免费公开课】  


     【关注微信公众号获取更多学习资料】        【扫码进入HTML5前端开发VIP免费公开课】



查看更多关于“Linux培训资讯”的相关文章>>

标签: Linux培训 Linux视频教程 红帽Linux视频 Linux学习视频 Linux入门视频 红帽RHCE/RHCSA考试

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号