java 如何连接redis
使用 Jedis 连接 Redis
Jedis 是 Redis 官方推荐的 Java 客户端之一,提供简单易用的 API 与 Redis 交互。
确保项目中已添加 Jedis 依赖。Maven 配置如下:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
创建连接并操作 Redis 的示例代码:
import redis.clients.jedis.Jedis;
public class RedisExample {
public static void main(String[] args) {
// 创建连接,默认连接本地6379端口
Jedis jedis = new Jedis("localhost");
// 设置键值对
jedis.set("key", "value");
// 获取值
String value = jedis.get("key");
System.out.println(value);
// 关闭连接
jedis.close();
}
}
使用 Lettuce 连接 Redis
Lettuce 是另一个高性能的 Redis Java 客户端,支持异步和响应式编程。
添加 Lettuce 依赖:
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>6.2.3.RELEASE</version>
</dependency>
基本使用示例:
import io.lettuce.core.RedisClient;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.RedisCommands;
public class LettuceExample {
public static void main(String[] args) {
// 创建客户端
RedisClient client = RedisClient.create("redis://localhost");
// 建立连接
StatefulRedisConnection<String, String> connection = client.connect();
// 获取同步命令接口
RedisCommands<String, String> commands = connection.sync();
// 执行命令
commands.set("lettuceKey", "lettuceValue");
String result = commands.get("lettuceKey");
System.out.println(result);
// 关闭连接和客户端
connection.close();
client.shutdown();
}
}
连接池配置
对于生产环境,建议使用连接池管理 Redis 连接。
Jedis 连接池示例:
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisPoolExample {
public static void main(String[] args) {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10); // 最大连接数
poolConfig.setMaxIdle(5); // 最大空闲连接数
try (JedisPool jedisPool = new JedisPool(poolConfig, "localhost")) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.set("poolKey", "poolValue");
System.out.println(jedis.get("poolKey"));
}
}
}
}
连接认证与高级配置
若 Redis 需要密码认证或自定义配置:
Jedis 认证示例:
Jedis jedis = new Jedis("localhost", 6379);
jedis.auth("yourpassword");
Lettuce 认证示例:
RedisClient client = RedisClient.create("redis://:yourpassword@localhost");
SSL/TLS 配置(Lettuce):

RedisURI redisUri = RedisURI.builder()
.withHost("localhost")
.withPort(6379)
.withSsl(true)
.withAuthentication("username", "password")
.build();
RedisClient client = RedisClient.create(redisUri);






