使用Jedis远程连接Redis时的小插曲

Jedis是远程连接redis的主流集成工具,在使用Jedis的过程中踩了几个坑,特此纪念。

从Maven依赖库库中下载两个jar包,分别是commons-pool2-2.4.2.jar和jedis-2.9.0.jar,版本不作要求。将这个两个jar包导入到工程中,然后开始编写程序。

先写一个简单的测试用例:
测试用例

其中192.168.94.129是我Linux虚拟机的ip地址,在保确保虚拟机上开启redis服务的前提下,运行测试用例,发现连接失败,怎么回事?

原来又是Linux防火墙,Linux防火墙将6379端口拦截掉了,那我们就在Linux系统上将6379端口打开:

1
2
[root@localhost redis]# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
[root@localhost redis]# /etc/rc.d/init.d/iptables save

然后再运行一次测试用例,发现和刚才一样,还是连接超时,一大堆的异常,这又是怎么回事呢?端口已经打开了呀!

可是仔细观察就会发现,在Linux虚拟机上连接到Redis服务的时候显示是127.0.0.1:6379>,那我们把ip换成127.0.0.1试一下,很遗憾,失败了。

是不是配置文件搞的鬼呢?进入redis.conf文件看一下,果然!有这么一段话:
redis.conf

bind后边指明的ip地址才是访问redis的合法地址,所以我们在其下边加入bind 192.168.94.129之后保存退出。

此时我们重新启动redis服务:

1
2
[root@localhost redis]# ./bin/redis-cli shutdown
[root@localhost redis]# ./bin/redis-server ./redis.conf

然后再运行一次测试代码,哇,一抹绿色终于出现了,终于连接成功,可以用Java代码来操作redis啦,redis有什么指令,Jedis就有什么方法,所以Jedis的API根本不用去记,只要知道Redis有哪些常用的指令就好啦!

OK,问题解决啦,继续你的旅程吧!加油。


 上一篇
hashCode和equals方法 hashCode和equals方法
git Commit测试hashCode和equals方法是Object类中的两个常用方法。其定义如下: 1234567// hashCode()方法默认是native方法:public native int hashCode();// e
2019-05-21
下一篇 
Linux系统上安装MySQL与远程访问配置 Linux系统上安装MySQL与远程访问配置
今天花了一天的时间给Linux系统装MySQL,中途遇到了不少问题,导致重新开始了好几次,特此总结,以便复查。 首先说明一下环境,用的是VMware虚拟机搭载CentOS6.5的Linux系统,并用CRT远程访问控制,所用MySQL版本
2019-05-19
  目录