Jedis本地连接远程服务器Redis服务问题

Jedis本地连接远程服务器Redis服务问题

​ 刚学习了Redis,尝试用Jedis去连接我服务器的Redis服务,不要问我为什么不连本地的,懒得下载。

导入相关依赖:

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.2.0</version>
</dependency>

创建一个测试的Demo:

public class TestPing {
    public static void main(String[] args) {
        //创建一个Jedis对象
        Jedis jedis = new Jedis("你的服务器外网ip",6379);
        System.out.println(jedis.ping());
    }
}

当我点击运行的时候出现了这个问题:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host

[外链图片转存中…(img-e8cNlORB-1622882696696)]

[外链图片转存中…(img-4rVSyemz-1622882696698)]

既然说无法连接,但是我在我服务器Redis服务是打开了的并且是可以ping通的,经过我一番周折,下面记录我的解决步骤:

解决步骤:

先关闭的Redis服务和连接

  • 先修改redis.config文件,用vim命令打开redis.config文件,按i进入编辑模式

    • 先在bind 127.0.0.1前加个#注释掉,这样就不只是本地可以连接了—>#bind 127.0.0.1
    • 然后找到protected-mode 他后面是设置成’no’,修改他的保护模式为on---->protected-mode no
    • 不要忘记保存然后退出哦,先按Esc退出编辑模式,再:wq保存并退出
  • **别急,你以为这就可以了?**我用的是阿里的服务器,我需要开启6379(Redis默认端口)端口的安全组设置,这步直接跳过,不演示。

  • 你以为这就可以了?,测试了一下还是报连接不上的错误,原来是要==开放redis端口的防火墙==

    • firewall-cmd --zone=public --add-port=6379/tcp --permanent

    • firewall-cmd --reload

    • 如果你想关闭这个端口的防火墙

      • firewall-cmd --zone=public --remove-port=6379/tcp --permanent

      • firewall-cmd --reload

  • 现在一切准备好了,用redis-service命令去打开你的redis服务

  • 服务打开后,运行上面的java代码。发现打印一个PONG说明连接成功了!!!!!!

最后

​ 笔者能力有限,还请读者谅解哦!有错误或者其他的更好的方法可以联系笔者哦!

QQ:1126184155

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值