使用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工程:

创建完成:

为了便于讲解,我们暂时不用Maven等技术管理jar,我们直接将jedis-2.7.2.jar放
入WebRoot/WEB-INF/lib文件夹下,然后加入BuildPath:

2.创建测试类

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

3.启动redis服务

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

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

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

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

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

4.编写代码测试连接

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

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

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

编写测试类:

[java] view plain copy

  1. package cn.com.redis;
  2. import redis.clients.jedis.Jedis;
  3. public class TestPing {
  4. public static void main(String[] args) {
  5. Jedis jedis = new Jedis("192.168.248.129",6379);
  6. //ping通显示PONG
  7. System.out.println(jedis.ping());//去ping我们redis的主机所在ip和端口
  8. 10.
        }

11.
}

执行后:

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

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

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

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

上面是暂时关闭,想要永久关闭,使用:
命令:#chkconfig
--level 2345 iptables off
或者
#chkconfig  iptables off
其中2345
代表”执行等级“

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

如果还没有联通,我们要检查一下redis是否开启“远程登录”,
原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:  
在redis的配置文件redis.conf中,找到bind关键字,配好我们要绑定的ip
(或者只注释掉band 127.0.0.1) 

(注:band 127.0.0.1   只能本机访问,局域网内计算机不能访问。  
    bind  局域网IP  
只能局域网内IP的机器访问, 本地localhost都无法访问。)

还有一种原因是因为我们没有配置“端口转发”。因为虚拟机的网络配置的是nat方式,所以
他的地址是跟本机在一个网段内的,但是他只能与本机联通,局域网内的其他机器
是不可以ping通的。那么我们如何配置端口转发呢?
(1)在虚拟机的编辑下选择虚拟网络编辑器

(2)要保证Linux系统采用的nat模式
依次检查下图所示的红框中的内容,一定要保持一致:

(3)进行NAT设置
上边的配置检查完毕后,我们需要进行NAT设置,在这里配置一个端口转发。
添加一个主机使用的端口,在添加虚拟机中redis服务的ip地址,和端口号。

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

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

11.Java连接Redis_Jedis_测试联通的更多相关文章

  1. 12.Java连接Redis_Jedis_常用API

    上一篇总结我们使用我们本地的Eclipse中创建的jedis工程,链接到了我们处于VMware虚拟机上的Linux系统上的Redis服务,我们接下来讲一下jedis的一些常用的API. (1)jedi ...

  2. 13.Java连接Redis_Jedis_事务

    Jedis事务我们使用JDBC连接Mysql的时候,每次执行sql语句之前,都需要开启事务:在MyBatis中,也需要使用openSession()来获取session事务对象,来进行sql执行.查询 ...

  3. 14.Java连接Redis_Jedis_主从模式

    redis的主从模式之前提到过,这里我们使用redis来实现主从模式. 首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser: 然后我们jack作为主机,re ...

  4. Java-Runoob-高级教程-实例-字符串:11. Java 实例 - 字符串性能比较测试

    ylbtech-Java-Runoob-高级教程-实例-字符串:11. Java 实例 - 字符串性能比较测试 1.返回顶部 1. Java 实例 - 字符串性能比较测试  Java 实例 以下实例演 ...

  5. mongodb在Windows安装配置及遇到的问题、java连接测试

    一.安装 1.访问mongodb的官网http://www.mongodb.org/downloads下载64bit的包,我下载的是mongodb-win32-x86_64-2008plus-ssl- ...

  6. 几个主流java连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  7. 转载: 几个主流的Java连接池整理

    https://www.cnblogs.com/linjian/p/4831088.html 池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所 ...

  8. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  9. NoSQL入门第五天——Java连接与整合操作

    一.测试联通 1.新建个web工程 2.导入jar:当然实际使用的时候肯定是通过maven来构建(如果有机会,可以尝试学习gradle进行构建) 3.建个测试类:好久没开eclipse了,希望后面可以 ...

随机推荐

  1. Python2 与 Python3 的区别

    python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与python3的区别 ...

  2. Eating Everything Efficiently(反向dp)

    传送门 取最大值即可.用拓扑,dfs都可以实现 #include <bits/stdc++.h> using namespace std; const int maxn=500009; i ...

  3. Halloween Costumes 玄学题

    传送门 太难了,完全不懂 设\(dp[i][j]\)为第i天到第j天的最少代价 \(dp[i][j]=dp[i][j-1]+1\)(第j天多穿一件衣服) \(dp[i][j]=min(dp[i][j] ...

  4. SQL语言概况(4.1)

    SQL语言概况(4.1) 目录 SQL语言概况(4.1) 4.1 SQL语言概况 4.1.1 历史及标准简介 4.1.2 SQL语言定义及特点 4.1.3 使用说明 参考资料: 数据库原理及设计(第3 ...

  5. JVM垃圾回收器(三)

    垃圾回收知识点 引用计数 给对象添加一个引用计数器,每当一个地方引用这个对象,这个计算器就加1.如果引用失效,那计算器就减1.如果计算器数量为0,那这个对象就是失效的. 但是如果2个对象虽然不用了,但 ...

  6. Angular 从入坑到挖坑 - Router 路由使用入门指北

    一.Overview Angular 入坑记录的笔记第五篇,因为一直在加班的缘故拖了有一个多月,主要是介绍在 Angular 中如何配置路由,完成重定向以及参数传递.至于路由守卫.路由懒加载等&quo ...

  7. 【Scala】isInstanceOf 与 classOf的对比,代码+注解简洁明了

    class Animal { } class Cat extends Animal { } object Cat { def main(args: Array[String]): Unit = { / ...

  8. 【Scala】看代码,初步了解Apply方法

    class ApplyTest(val name:String) { /** * apply源码 * def apply(x: Int, xs: Int*): Array[Int] = { * val ...

  9. 对文本的内容进行排序(io流、集合操作)

    package com.itheima.demo01.BufferedStream; import java.io.*; import java.util.HashMap; /* 练习: 对文本的内容 ...

  10. JUC之CountDownLatch源码分析

    CountDownLatch是AbstractQueuedSynchronizer中共享锁模式的一个的实现,是一个同步工具类,用来协调多个线程之间的同步.CountDownLatch能够使一个或多个线 ...