说明
- Redis-07-SpringBoot集成Redis(RedisTemplate)
- 官方文档:https://redis.io/documentation
- Redis命令参考:http://redisdoc.com/
操作步骤
》加入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
》添加配置
spring.redis.host=192.168.3.241
spring.redis.port=6379
spring.redis.password=123456
spring.redis.database=0
》简单使用
@Slf4j
@RestController
@RequestMapping("/redis")
public class RedisController {
@Autowired
private RedisTemplate redisTemplate;
@RequestMapping("/hello")
public String hello() {
redisTemplate.opsForValue().set("k1", "v1");
String k1 = (String)redisTemplate.opsForValue().get("k1");
log.info(k1);
return "ok";
}
}
》处理Redis乱码
@Configuration
public class MyRedisConfig extends RedisAutoConfiguration {
@Override
@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
@ConditionalOnSingleCandidate(RedisConnectionFactory.class)
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
/*
* 设置默认序列化器(处理Redis中key乱码)
* 这里简单测试都使用了StringRedisSerializer,你也可以用GenericJackson2JsonRedisSerializer
*/
template.setDefaultSerializer(new StringRedisSerializer());
/*
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
*/
return template;
}
}