【Redis缓存机制】11.Java连接Redis_Jedis_测试联通
2016-12-05 09:11
666 查看
使用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工程:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/9112116852b484cd3e7b19f70040bc20)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/7df5c6577020840a2644c69fc5c6605d)
创建完成:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/cab464c925ca9a66966824b8f4c5b836)
为了便于讲解,我们暂时不用Maven等技术管理jar,我们直接将jedis-2.7.2.jar放
入WebRoot/WEB-INF/lib文件夹下,然后加入BuildPath:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/e2d4dbc38aec6eec85436dab109fbe68)
2.创建测试类
我们创建一个cn.com.redis.test包,然后在其下面创建“TestPing”类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/947e1980fa3b5f3b966e02f01dd33a1d)
3.启动redis服务
测试连接我们首先要启动redis,我是在Windows上使用VMware虚拟机安装了Linux系统,在其中
安装了Redis。
所以,我们启动VMware虚拟机的Linux系统:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/01b75a7410077a4ebeae7770b1930d09)
打开控制台,开启Redis服务:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/b088d72faba17587cb4ac864cab4f5a6)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/7b834eab2c26e4bd83ac884d9117bfe1)
查看以下目前有多少个key:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/ec0b122d5744e03c5fbfc9657628cfdd)
Redis服务启动之后,我们才能去连接。
3.编写代码测试连接
我们使用JDBC连接Mysql数据库的时候,需要知道数据库的ip和端口号。连接redis也是一样,
我们也是需要知道redis所在服务器的ip和端口号。
在linux上通过ifconfig -a指令,得知我们现在的主机的ip为"192.168.248.129":
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/234f072e292a7fb29aa24d274baa434b)
redis所在端口号为"6379"(安装redis默认的端口号)。
编写测试类:
执行后:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/76a91c8f39b3320d92f1c08a6ac34c0d)
说明我们连接redis服务成功。
具体开发请看以后的总结文章。
注意:如果ping不通,可能会报这种错误:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/5037c65f1dbcad0ec28f55260eee47fc)
首先检查一下linux的防火墙是不是关闭了:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/7d2f3899a5d6cab007aea3f4e20953d0)
上面是暂时关闭,想要永久关闭,使用:
命令:#chkconfig --level 2345 iptables off
或者 #chkconfig iptables off
其中2345 代表”执行等级“
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/3ecc8dd9cd6840f526e4b4f5536a863f)
注:我使用的是Linux版本为CentOS6.5,其它版本指令会有所不同
如果还没有联通,我们要检查一下redis是否开启“远程登录”,
原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:
在redis的配置文件redis.conf中,找到bind关键字,配好我们要绑定的ip
(或者只注释掉band 127.0.0.1)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/d86b7e6fbcb9c3064c551c0c663ef564)
(注:band 127.0.0.1 只能本机访问,局域网内计算机不能访问。
bind 局域网IP 只能局域网内IP的机器访问, 本地localhost都无法访问。)
还有一种原因是因为我们没有配置“端口转发”。因为虚拟机的网络配置的是nat方式,所以
他的地址是跟本机在一个网段内的,但是他只能与本机联通,局域网内的其他机器
是不可以ping通的。那么我们如何配置端口转发呢?
(1)在虚拟机的编辑下选择虚拟网络编辑器
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/81ee0d8634a1649cdae20d9198ee45d1)
(2)要保证Linux系统采用的nat模式
依次检查下图所示的红框中的内容,一定要保持一致:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/7379f9930f00515bb61676f8cdb5b519)
(3)进行NAT设置
上边的配置检查完毕后,我们需要进行NAT设置,在这里配置一个端口转发。
添加一个主机使用的端口,在添加虚拟机中redis服务的ip地址,和端口号。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201612/3607ec7f349909d7e20059be3e097f3d)
之后程序可以访问虚拟机中的Redis服务了。
转载请注明出处:http://blog.csdn.net/acmman/article/details/53462034
最常用的就是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服务启动之后,我们才能去连接。
3.编写代码测试连接
我们使用JDBC连接Mysql数据库的时候,需要知道数据库的ip和端口号。连接redis也是一样,
我们也是需要知道redis所在服务器的ip和端口号。
在linux上通过ifconfig -a指令,得知我们现在的主机的ip为"192.168.248.129":
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服务成功。
具体开发请看以后的总结文章。
注意:如果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
相关文章推荐
- redis性能分析与监控方案
- Redis/MongoDB用户权限配置
- 013,spring boot下JedisCluster客户端的配置,连接Redis集群
- Redis基础学习--持久化(数据备份与恢复)、复制、安全、通信协议、管理工具
- Redis基础学习--脚本(Lua语言)
- mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)
- redis的事务
- redis学习笔记4(redis持久化)
- Redis的三种启动方式
- redis的集合类型和列表类型区别
- 跟我学Redis(15)—Redis主从复制
- redis持久化之AOF(Append Only File)及其总结
- Redis 有序集合(sorted set)
- Redis 集合(Set)
- Redis 列表(List)
- Redis 哈希(Hash)
- Redis 字符串(String)
- redis-cli -h xxxxx -p xxxx monitor 监控host为xxxx,端口为xxx,redis连接及读写操作
- Redis3.0.1配置文件说明
- Redis2.8.9配置文件说明