Jedis 是一个 Java 客户端,用于连接和操作 Redis 数据库。它是最早也是最广泛使用的 Redis Java 客户端之一,提供了对 Redis 各种数据结构和命令的直接封装,适用于高性能、低层次的 Redis 操作场景。
入门
1.在pom.xml内导入依赖:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
2.单机连接使用
import redis.clients.jedis.Jedis;
public class JedisExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
jedis.auth("yourpassword"); // 如果设置了密码
jedis.set("name", "Alice");
String value = jedis.get("name");
System.out.println("name = " + value);
jedis.close();
}
}
Jedis连接池
jedis本身是线程不安全的,并且频繁的创建和销毁会有性能损耗,因此推荐使用jedis连接池代替jedis的直连方式。
配置连接池
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisConnectFactory {
private static JedisPool jedisPool;
static {
//配置连接池
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10);//最大连接数
poolConfig.setMaxIdle(5);//最大空闲连接数
poolConfig.setMinIdle(5);//最小空闲连接数
poolConfig.setMaxWaitMillis(1000);//连接池最大阻塞时间,单位毫秒
//创建连接对象
jedisPool = new JedisPool(poolConfig,"localhost",6379,1000,"password");
}
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
连接使用时,改为连接池获取jedis连接
import redis.clients.jedis.Jedis;
public class JedisExample {
public static void main(String[] args) {
jedis = JedisConnectFactory.getJedis();//连接池
jedis.auth("yourpassword"); // 如果设置了密码
jedis.set("name", "Alice");
String value = jedis.get("name");
System.out.println("name = " + value);
jedis.close();
}
}