版权声明:版权所有,违者必究 https://blog.csdn.net/weixin_39921821/article/details/90052493
一.首先何为Jedis?
Jedis = Java + Redis; //没错,就是这样的^_^
二.Jedis和Redis的渊源
1.Redis不仅是使用命令来操作的,现在基本上主流的语言都有客户端的支持,比如java,C,C#,C++,PHP,Node.js,Go等语言。
在官方网站里列一些Java的客户端,有Jedis,Redisson,Jredis,JDBC-Redis,等其中官方推荐使用Jedis和Redisson。在企业中用的 最多的就是Jedis,下面就以市场上用的最多的Jedis来了解一哈:
2. Jedis也是托管在github上的,托管地址:https://github.com/xetorthio/jedis
注:没错,你看到的这个就是了
三.俺只懂Java,所以用Java来连接一下Redis
1.首先要下载好需要的jar包
这两个jar包是必须要的,可以提前下载好,仍进java工程,然后引入
2.写一个测试类
package com.yinxin.Jedis;
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
//1.设置ip地址和端口
Jedis jedis=new Jedis("172.16.10.118",6379);
//添加数据
jedis.set("name","zhangsan");
//获取数据
String name=jedis.get("name");
System.out.println("获取name属性的值:"+name);
//释放资源
jedis.close();
}
}
如果执行就会出现如下结果:
① 抛出连接超时的异常,原因是没有关闭远程服务器上的6379这个端口的防火墙
②必须设置linux防火墙,所以接下来就需要先关掉这个防火墙,并且永久保存让其生效
vim /etc/sysconfig/iptables
添加6379端口
service iptables restart
③ 关掉防火墙
systemctl stop firewalld.service
防火墙关了之后就好了,就可以用程序试了,如图:
Java程序和客户端获取的数据一样
3.连接池连接
代码部分:
package com.yinxin.Jedis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisTest {
@Test
public void testJedisPool(){
//获取连接池配置对象,设置配置项
JedisPoolConfig config=new JedisPoolConfig();
//最大连接数
config.setMaxTotal(30);
//最大空闲连接数
config.setMaxIdle(10);
JedisPool jedisPool=new JedisPool(config,"172.16.10.111",6379);
//获得核心对象
Jedis jedis=null;
jedis=jedisPool.getResource();
//设置数据
jedis.set("name","yinxin");
//获取数据
String name=jedis.get("name");
System.out.println("name为["+name+"]");
if(jedis!=null){
jedis.close();
}
//虚拟机关闭时,释放pool资源
if(jedisPool!=null){
jedisPool.close();
}
}
}
从连接池中获取的值,如图: