导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
加入配置
// application.property
spring.application.name=redus-springboot
#Redis服务器地址
spring.data.redis.host= #{machine ip address}
#Redis服务器端口 默认为6379
spring.data.redis.port= #{port}
#Redis服务器索引*(默认为0)
spring.data.redis.database=0
#Redis连接超时时间(单位:毫秒)
spring.data.redis.timeout=1800000
#Redis连接池配置(用负数时没有限制)
spring.data.redis.lettuce.pool.max-active=20
#Redis连接池最大阻塞等待时间(使用负值表示没有限制)
spring.data.redis.lettuce.pool.max-wait=-1
#Redis连接池中的最小空闲连接
spring.data.redis.lettuce.pool.max-idle=5
#Redis连接池中的最大空闲连接
spring.data.redis.lettuce.pool.min-idle=0
创建Redis配置类
// RedisConfig
// 启用Spring缓存技术
// 配置文件标记注解
@EnableCaching
@Configuration
public class RedisConfig {
// 固定写法,创建一个RedisTemplate类 并交给IOC容器管理。
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
// 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
template.setValueSerializer(serializer);
template.setHashValueSerializer(serializer);
// 使用StringRedisSerializer来序列化和反序列化redis的key值
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.afterPropertiesSet();
return template;
}
}
使用
@RestController
@RequestMapping("/redis")
public class redisTest {
// 创建一个redis模板类对象。
@Autowired
private RedisTemplate<String,Object> redis;
@GetMapping("/hso")
public void hso(){
redis.opsForValue().set("misaka","H");
redis.opsForValue().get("misaka");
}
}