Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端代码支持,比如java、C、C#、C++、php、Node.js、Go等。
在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。
Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis
Git
Svn
问题:连接出现超时等问题。
解决办法
(1)在Linux找到你的redis.conf配置文件,到该目录下使用命令:vi 配置文件名
打开配置,将bind 127.0.0.1 注释掉(最前面加个 #)
原因:bind 127.0.0.1是只允许本机访问,就是只允许Linux虚拟机自己访问,而我们要用Windows去访问,显然它不认得
(2)关闭防火墙 6379端口有没有开启
- vim /etc/sysconfig/iptables
- service iptables restart
Centos版本命令service iptables stop 关闭,重启Redis服务。
在防火墙中过滤掉这个端口
(3)设置连接Redis的密码config set requirepass 123456 123456是设置的密码,Java添加设置密码的部分
Java连接redis
1. 单连接
1.导包
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
Java:
@Test
public void test1(){
//1.获取jedis连接对象
Jedis jedis=new Jedis("192.168.3.132",6379);
jedis.auth("123456");
//jedis.set("username","admin");
String str = jedis.get("username");
System.out.println(str);
jedis.close();
}
2. 连接池连接
/**
* 连接池
*/
@Test
public void test2(){
JedisPool jedisPool =new JedisPool("192.168.3.132",6379);
Jedis jedis = jedisPool.getResource();
jedis.auth("123456");
//jedis.set("password","123456");
System.out.println(jedis.get("password"));
jedis.close();
}