除了使用 Spring Data Redis
,Java 连接 Redis 还可以通过以下几种方式:
1. Jedis
Jedis 是一个流行的 Java Redis 客户端库,提供了简单的 API 来访问 Redis。
依赖:
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.3</version> <!-- 使用最新版本 -->
</dependency>
示例代码:
import redis.clients.jedis.Jedis;public class JedisExample {public static void main(String[] args) {try (Jedis jedis = new Jedis("localhost", 6379)) {jedis.set("key", "value");System.out.println("Value: " + jedis.get("key"));}}
}
2. Lettuce
Lettuce 是另一个流行的 Java Redis 客户端库,支持异步和响应式操作。
依赖:
<dependency><groupId>io.lettuce.core</groupId><artifactId>lettuce-core</artifactId><version>6.2.2</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 redisClient = RedisClient.create("redis://localhost:6379");try (StatefulRedisConnection<String, String> connection = redisClient.connect()) {RedisCommands<String, String> syncCommands = connection.sync();syncCommands.set("key", "value");System.out.println("Value: " + syncCommands.get("key"));}}
}
3. Redisson
Redisson 是一个高级 Redis 客户端,提供了丰富的功能和分布式对象。
依赖:
<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.5</version> <!-- 使用最新版本 -->
</dependency>
示例代码:
import org.redisson.Redisson;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;public class RedissonExample {public static void main(String[] args) {Config config = new Config();config.useSingleServer().setAddress("redis://localhost:6379");try (RedissonClient redisson = Redisson.create(config)) {RBucket<String> bucket = redisson.getBucket("key");bucket.set("value");System.out.println("Value: " + bucket.get());}}
}
4. Spring Data Redis (非 Spring Boot)
即使不使用 Spring Boot,Spring Data Redis 也可以单独使用,以便在普通的 Spring 应用中连接 Redis。
依赖:
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>3.6.0</version> <!-- 使用最新版本 -->
</dependency>
配置和使用:
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericToStringSerializer;@Configuration
public class RedisConfig {@Beanpublic RedisConnectionFactory redisConnectionFactory() {return new LettuceConnectionFactory("localhost", 6379);}@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(connectionFactory);template.setValueSerializer(new GenericToStringSerializer<>(Object.class));return template;}
}
总结
- Jedis:简单易用,适合大多数应用。
- Lettuce:支持异步和响应式操作,适合需要高性能的应用。
- Redisson:提供丰富的高级功能,如分布式锁和集合。
- Spring Data Redis:简化 Spring 应用中 Redis 的操作,与 Spring Boot 集成时非常方便。
选择适合你的项目需求的 Redis 客户端库。