第一次尝试Java/Springboot连接redis失败(如何开启远程连接)

错误如下:

连Java的报错:Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to 47.106.x.x:6379

连springboot的报错:io.netty.channel.ConnectTimeoutException: connection timed out: /47.106.x.x:6379

原因就是没有开启redis的远程连接,感觉网上的步骤零零散散,我来总结一下我的过程:

redis的配置文件

①首先找到配置文件redis.conf,执行 vim redis.conf 就可以修改配置文件啦 !配置的点有两个,一个是注释,一个是由yes改no

#开启远程连接(注释掉代表允许所有人访问)
#bind 127.0.0.1 -::1

#开启远程连接(允许所有人访问,由yes修改为no)
protected-mode no

注释bind之外,还可以换成另一个做法:就是将127.0.0.1改为0.0.0.0即可,无需注释,也实现了所有机器上的地址都可以访问服务。

除此之外还可以多添加个密码,自己喜欢吧~修改好了保存退出后,记得要重新加载redis配置,比如我在bin目录的server要加载位于和bin一个目录的配置文件并启动,那么我执行的是:./redis-server ../redis-conf

防火墙

狠人直接:systemctl stop firewalld把防火墙推掉~

还可以就开启防火墙的6379端口,你可以先看看防火墙的状态:systemctl status firewalld,图中发现是active打开的状态~


可以按照以下的命令执行:

1、开启防火墙 
    systemctl start firewalld

2、开放指定端口(redis的默认port=6379)
      firewall-cmd --zone=public --add-port=6379/tcp --permanent
 命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效(我一般不会写上永久生效的)

3、重启防火墙
      firewall-cmd --reload

4、查看端口号
netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 1935   //查看所有1935端口使用情况·

然后,阿里云的安全组也要配置一下,就可以连接上了。

      //创建jedis客户端对象
        Jedis jedis = new Jedis("47.106.x.x",6379);
        jedis.auth("123456");
        //选择使用一个库 默认使用0号库
        jedis.select(0);
        //获取redis中所有key的信息
        Set<String> keys = jedis.keys("*");
        keys.forEach(key -> System.out.println(key));
        //释放资源
        jedis.close();

//成功拿到所有的key:        
name
map01
hate
zset01
city
list01
set01

参考:开启远程连接

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇