java如何使用redis
使用 Java 操作 Redis
在 Java 中操作 Redis 通常通过客户端库实现,以下是常用的方法:
添加 Redis 客户端依赖
Jedis 和 Lettuce 是两种常见的 Java Redis 客户端。在 Maven 项目中添加 Jedis 依赖:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
连接 Redis 服务器
使用 Jedis 连接 Redis:
import redis.clients.jedis.Jedis;
public class RedisExample {
public static void main(String[] args) {
// 创建连接
Jedis jedis = new Jedis("localhost", 6379);
// 测试连接
System.out.println("Connection to server successfully: " + jedis.ping());
// 关闭连接
jedis.close();
}
}
基本数据操作
设置和获取字符串值
jedis.set("key", "value");
String value = jedis.get("key");
System.out.println("Stored string: " + value);
操作哈希表

jedis.hset("user:1", "name", "Alice");
jedis.hset("user:1", "age", "30");
String name = jedis.hget("user:1", "name");
System.out.println("User name: " + name);
列表操作
jedis.lpush("list", "item1");
jedis.lpush("list", "item2");
List<String> items = jedis.lrange("list", 0, -1);
System.out.println("List items: " + items);
使用连接池
为了提高性能,可以使用连接池:
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10);
try (JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379)) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.set("pooledKey", "pooledValue");
System.out.println(jedis.get("pooledKey"));
}
}
使用 Lettuce 客户端
Lettuce 是另一个流行的 Redis 客户端,支持异步操作:

<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>6.2.1.RELEASE</version>
</dependency>
连接和操作示例
import io.lettuce.core.RedisClient;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.RedisCommands;
RedisClient client = RedisClient.create("redis://localhost");
StatefulRedisConnection<String, String> connection = client.connect();
RedisCommands<String, String> commands = connection.sync();
commands.set("lettuceKey", "lettuceValue");
System.out.println(commands.get("lettuceKey"));
connection.close();
client.shutdown();
高级功能
发布/订阅模式
使用 Jedis 实现发布订阅:
Jedis jedis = new Jedis("localhost");
jedis.subscribe(new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
System.out.println("Received: " + message);
}
}, "channel");
事务操作
Transaction t = jedis.multi();
t.set("txKey1", "value1");
t.set("txKey2", "value2");
t.exec();
注意事项
- 确保 Redis 服务器已启动并监听正确端口
- 生产环境建议使用连接池管理连接
- 根据需求选择合适的客户端(Jedis 或 Lettuce)
- 处理异常情况,如连接失败或操作超时






