一、介绍
(1)jedis是线程不安全的,其方法名为命令名,故学习成本低。
二、使用
(1)引入Maven依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
(2)建立连接
public class ClientTest {
public static void main(String[] args) {
//设置要连接的主机及端口
Jedis jedis = new Jedis("192.168.105.218", 6379);
//设置密码建立连接
jedis.auth("123456");
//设置要连接的库,不选默认是0号库
jedis.select(0);
Set<String> keys = jedis.keys("*");
keys.forEach(System.out::println); //wsh:user:1
jedis.close();
}
}
三、配置jedis连接池
(1)因为jedis不是线程安全的,且频繁地创建jedis实例时间开销大,故我们使用连接池。
(2)使用
public class ClientTest {
public static void main(String[] args) {
//创建连接池的配置对象
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//配置连接池最多连接数
jedisPoolConfig.setMaxTotal(8);
//配置最多空闲连接数(预备连接数)
jedisPoolConfig.setMaxIdle(8);
//配置最少空闲连接数(预备连接数),此处为2指常备2个连接
jedisPoolConfig.setMinIdle(2);
//配置等待连接时间
jedisPoolConfig.setMaxWaitMillis(1000);
//创建连接池对象
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "192.168.105.218", 6379, 1000, "123456");
//获取连接
Jedis resource = jedisPool.getResource();
Set<String> keys = resource.keys("*");
keys.forEach(System.out::println); //wsh:user:1
//归还连接
resource.close();
}
}