Java连接redis
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();
}