【Redis缓存机制】11.Java连接Redis_Jedis_测试联通

使用Java开发项目的时候使用Redis的话,目前有一些开源API可以使用。

最常用的就是jedis,它提供了许多基于Java的对象和方法来调用Redis的指令。

jedis的jar包下载地址
http://download.csdn.net/detail/teamlet/8914387(
jedis-2.7.2.jar)

我们下面构建一个最基本的包含Jedis的Java工程环境,来测试Jedis与Redis的连接。

1.创建工程

首先打开我们的Eclipse或者MyEclipse,创建一个名为“RedisTest”的WebProject工程:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

创建完成:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

为了便于讲解,我们暂时不用Maven等技术管理jar,我们直接将jedis-2.7.2.jar放

入WebRoot/WEB-INF/lib文件夹下,然后加入BuildPath:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

2.创建测试类

我们创建一个cn.com.redis.test包,然后在其下面创建“TestPing”类:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

3.启动redis服务

测试连接我们首先要启动redis,我是在Windows上使用VMware虚拟机安装了Linux系统,在其中

安装了Redis。

所以,我们启动VMware虚拟机的Linux系统:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

打开控制台,开启Redis服务:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

查看以下目前有多少个key:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

Redis服务启动之后,我们才能去连接。

3.编写代码测试连接

我们使用JDBC连接Mysql数据库的时候,需要知道数据库的ip和端口号。连接redis也是一样,

我们也是需要知道redis所在服务器的ip和端口号。

在linux上通过ifconfig -a指令,得知我们现在的主机的ip为”192.168.248.129″:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

redis所在端口号为”6379″(安装redis默认的端口号)。

编写测试类:

package cn.com.redis;

import redis.clients.jedis.Jedis;

public class TestPing {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.248.129",6379);
        //ping通显示PONG
        System.out.println(jedis.ping());//去ping我们redis的主机所在ip和端口
    }
}

执行后:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

说明我们连接redis服务成功。

具体开发请看以后的总结文章。

注意:如果ping不通,可能会报这种错误:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

首先检查一下linux的防火墙是不是关闭了:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

上面是暂时关闭,想要永久关闭,使用:

命令:#chkconfig –level 2345 iptables off

或者 #chkconfig  iptables off

其中2345 代表”执行等级“

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

注:我使用的是Linux版本为CentOS6.5,其它版本指令会有所不同

如果还没有联通,我们要检查一下redis是否开启“远程登录”,

原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:  

在redis的配置文件redis.conf中,找到bind关键字,配好我们要绑定的ip

(或者只注释掉band 127.0.0.1)

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

   

(注:band 127.0.0.1   只能本机访问,局域网内计算机不能访问。  

    bind  局域网IP   只能局域网内IP的机器访问, 本地localhost都无法访问。)

还有一种原因是因为我们没有配置“端口转发”。因为虚拟机的网络配置的是nat方式,所以

他的地址是跟本机在一个网段内的,但是他只能与本机联通,局域网内的其他机器

是不可以ping通的。那么我们如何配置端口转发呢?

(1)在虚拟机的编辑下选择虚拟网络编辑器

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

(2)要保证Linux系统采用的nat模式

依次检查下图所示的红框中的内容,一定要保持一致:

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

(3)进行NAT设置

上边的配置检查完毕后,我们需要进行NAT设置,在这里配置一个端口转发。

添加一个主机使用的端口,在添加虚拟机中redis服务的ip地址,和端口号。

《【Redis缓存机制】11.Java连接Redis_Jedis_测试联通》

之后程序可以访问虚拟机中的Redis服务了。

转载请注明出处:http://blog.csdn.net/acmman/article/details/53462034

    原文作者:光仔December
    原文地址: https://blog.csdn.net/acmman/article/details/53462034
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞