Jedis连接池对Redis数据操作

时间:2022-07-11 16:13:32

【效果图】

Jedis连接池对Redis数据操作

【前言】

Redis是常用于缓存的非关系型数据库,感觉更像加强型的HashMap的用法,依靠Key和Value保存数据。官方推荐用Jedis来操作Redis数据库,使用和JDBC差不多,一半通过连接池作数据操作。

【Redis安装】

支持windows和linux安装,可以装个windows版本,测试下用例。

地址:https://github.com/MicrosoftArchive/redis/releases

Jedis连接池对Redis数据操作

安装后的命令行启动服务

Jedis连接池对Redis数据操作

【测试代码】

github提到需要依赖包

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

测试用例,包括单实例和连接池

package jedis.Redis;

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 demoSingle(){
//1.设置IP和端口
Jedis jedis =new Jedis("127.0.0.1",6379);
//2.传入数据
jedis.set("name", "jedisSingle");
//3.获取数据
System.out.println(jedis.get("name"));
//4.释放连接
jedis.close();
} @Test
/*
* 连接池测试
*/
public void demoPool(){
//连接池配置对象-最大连接数-空闲连接数
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(20);
config.setMaxIdle(10); //获得连接池
JedisPool jedisPool= new JedisPool(config,"127.0.0.1",6379);
//实例化单个连接
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.set("name", "jedisPool");
System.out.println(jedis.get("name"));
} catch (Exception e) {
e.printStackTrace();
} finally{
//释放资源
jedis.close();
jedisPool.close();
}
}
}

Redis传入取出数据,更类似于HashMap的方式,建立连接释放资源类似于JDBC。尽管存取数据很快,相对于Mysql这些关系型数据库,但是数据类型和非关系的特性,更适合作缓存业务。