java操作redis(远程连接阿里云上的redis)

之前在我的阿里云部署的redis,一直用命令练习,也没啥实际意义。毕竟咱是java开发,又不是运维,还是希望在代码里操作redis。不过在这之前遇到过一点小麻烦,在java代码里不能连接阿里云上的redis。

一、搭建java的redis demo项目

依赖工具包就两个:jedis-2.9.0.jar      commons-pool-1.6.jar

我用的是maven的java项目,在这里贴出来pom引用:

<dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

 <dependency>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
      <version>1.6</version>
 </dependency>

二、测试连接,出现问题

redis的java连接代码很简单,就是一个构造就行了,然而这里却碰到了一个问题

  public static void main(String[] args) {
      Jedis jedis= new Jedis( JedisTest.URL,63**);//URL是我阿里云的IP
        System.out.println(jedis.ping());
        System.out.println(jedis.get("mm"));
        System.out.println(jedis.set("steve","tao"));
    }

(注:之前阿里云被人利用redis 6379端口号注入了蠕虫病毒挖矿,后面就改了端口号,这里不敢贴出IP和端口号,望体谅)

出现这种情况之后,也是一头雾水,去网上一搜。都说是redis3.0之后默认只准本机访问了,需要修改server.conf配置文件的bind 和protected-mode两处地方。

三、尝试开启远程允许

去阿里云上一看,确实是3.0版本的redis。那就该吧!然而在改配置文件的时候又发现了问题,文件里没有protected-mode配置项,自己添加redis启动就会报错。这里只是改了bind

这种情况下java还是无法连接redis。尝试了设置密码,java代码里用密码登录,也还是不行

四、解决方案

折腾了好久,想起了以前配置activemq的时候也出现过java代码里无法连接,只是xshell可以操作,当时是由于阿里云的安全组控制作怪。

登录后台一看才恍然大悟,之前redis用的是6379,因为前段时间redis被感染病毒,就改了端口,这里没有为新端口设置安全规则。添加安全规则之后,再去尝试:

可以联通了,后面就开始Jedis的学习吧!

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值