在Spring Boot 3中整合Redis,可以使用spring-data-redis
和spring-boot-starter-data-redis
依赖。以下是一个简单的示例:
1.添加依赖
在pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置Redis
在application.yml
或application.properties
文件中配置Redis连接信息,例如:
spring:
redis:
host: localhost
port: 6379
password: your_password
database: 0
timeout: 5000
jedis:
pool:
max-active: 8
max-idle: 8
min-idle: 0
max-wait: -1
3.创建RedisTemplate Bean
在配置类中创建一个RedisTemplate
Bean:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
// 使用StringRedisSerializer来序列化和反序列化redis的key值
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
// 使用GenericJackson2JsonRedisSerializer来序列化和反序列化redis的value值
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.afterPropertiesSet();
return template;
}
}
4.使用RedisTemplate操作Redis
在需要操作Redis的地方,注入RedisTemplate
并使用它的方法进行操作,例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@Component
public class RedisService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
public void delete(String key) {
redisTemplate.delete(key);
}
}
以上是一个简单的Spring Boot 3整合Redis的示例,你可以根据实际需求进行调整和扩展。更多详细信息可以参考官方文档:https://docs.spring.io/spring-data/redis/docs/current/reference/html/