Redis大家都知道,是一个缓存框架,它可以配置分布式缓存。功能十分的强大。
多的不说了,下面直接来介绍怎么进行一个初始搭建吧!
JedisPoolConfig 是一个链接对象配置类,主要是配置一些链接属性,有点类似于建造者模式
JedisPool 是一个链接池对象,专门处理链接redis服务器的一个类。
Jedis 是一个可操作的key-value对象,直接操作缓存服务器对象。
初始链接代码:
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
jedisPoolConfig.setBlockWhenExhausted(true);
// 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)
jedisPoolConfig.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
// 是否启用pool的jmx管理功能, 默认true
jedisPoolConfig.setJmxEnabled(true);
// 最大空闲连接数, 默认4个 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
jedisPoolConfig.setMaxIdle(4);
// 最大连接数, 默认200个
jedisPoolConfig.setMaxTotal(200);
// 表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
jedisPoolConfig.setMaxWaitMillis(1000 * 100);
// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
jedisPoolConfig.setTestOnBorrow(true);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, ip, host, 30000, password);
//获取redis操作对象。
Jedis jedis = jedisPool.getResource();
jedis .set(key,value);
jedis.get(key);
最后记得一定要释放连接池,如果不释放连接池同时连接池被沾满,那么下一个用户就无法链接进来
jedis.close();
//说明下 jedisPool.close();是关闭与缓存服务器的链接,如果下次还想使用,那么就得从新开启链接,一般建议不关闭,只要释放链接jedis.close();就行了,如果太频繁链接,会导致效率下降!
jedisPool.close();