使用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. ACM算法--枚举方法(指数枚举,组合枚举)模板

    // 递归实现指数型枚举 vector<int> chosen; void calc(int x) { if (x == n + 1) { for (int i = 0; i < c ...

  2. Codeforce-Ozon Tech Challenge 2020-D. Kuroni and the Celebration(交互题+DFS)

    After getting AC after 13 Time Limit Exceeded verdicts on a geometry problem, Kuroni went to an Ital ...

  3. golang教程汇总

    A Tour of Go Go编程基础 Go 语言圣经 中文版

  4. Spring中资源的加载原来是这么一回事啊!

    1. 简介 在JDK中 java.net.URL 适用于加载资源的类,但是 URL 的实现类都是访问网络资源的,并没有可以从类路径或者相对路径获取文件及 ServletContext , 虽然可以通过 ...

  5. Q - Play With Sequence HDU - 3971 线段树 重新排序建树

    Q - Play With Sequence HDU - 3971 这个题目是一个线段树,比较特别的线段树,就是c询问一定次数之后重新排序建树来优化减低复杂度. 第一次碰到这种题目有点迷. 这个题目写 ...

  6. mui指南

    转自https://www.cnblogs.com/koleyang/p/5146623.html http://dev.dcloud.net.cn/mui/ui/index.html#mask ht ...

  7. Vue实现靠边悬浮球(PC端)

    我想把退出登录的按钮做成一个悬浮球的样子,带动画的那种. 实现是这个样子: 手边没有球形图.随便找一个,功能这里演示的为单机悬浮球注销登录 嗯,具体代码: <div :class="[ ...

  8. 数组的操作。1,JS数组去重。2,把数组中存在的某个值,全部找出来。3在JS数组指定位置插入元素。。。

    1,数组去重 let arr = [1,2,3,4,5,6,1,2,3,'a','b','a']; let temp = []; // 作为存储新数组使用 for(let i = 0; i < ...

  9. asp.net core + entity framework core 多数据库类型支持实战

    根据微软官方文档的说法,有两种方法可以实现在一个app中同时适应多种不同类型的数据库,并且全部支持migrations操作.其一,使用两个dbcontext:其二,修改migration文件,添加特定 ...

  10. 【hdu1006】解方程

    http://acm.hdu.edu.cn/showproblem.php?pid=1006 这题坑了我好久,发现居然是一个除法变成了整除,TAT,所以建议在写较长的运算表达式的时候出现了除法尽量加个 ...