Jedis连接池对Redis数据操作

Posted 李凯伦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jedis连接池对Redis数据操作相关的知识,希望对你有一定的参考价值。

【效果图】

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

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

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

安装后的命令行启动服务

【测试代码】
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这些关系型数据库,但是数据类型和非关系的特性,更适合作缓存业务。

以上是关于Jedis连接池对Redis数据操作的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习-Jedis(Java操作redis数据库技术)

redis--jedis

学习记录04 --- 使用java连接redis数据库进行操作

错误记录使用 Jedis 操作 Redis 数据库报错 ( JedisConnectionException | Redis 连接超时故障排查点 | 绑定配置 | 保护模式 | 防火墙 )

Jedis/JedisPool和Redis数据类型与特性

Redis6--Jedis篇