문제 발생
현재 진행중인 개인 프로젝트에서 redis를 이용한 토큰 저장을 하는 로직이 있는데 토큰을 저장 후 redis-cli에서 해당 값을 확인 해봤더니 토큰 값 앞, 뒤에 큰따옴표가 추가적으로 입력되고 있었다.
큰따옴표가 같이 들어가면 토큰 값이 제대로 됐는지 확인하는 작업에서 정확한 확인이 불가능 하기 때문에 해당 문제 원인을 찾아봤다.
원인
원인을 확인해본 결과 스프링에서 redis를 사용하기 위해서 redis 관련 설정을 위해 config파일을 작성하게 되는데,
this.valueSerializer = StringRedisSerializer() 이 부분을 추가 해주지 않아서 redis의 값을 입력할 때 입력이 제대로 되지 않아서 발생한 문제였다.
해결방법
@Configuration
@EnableRedisRepositories
class RedisConfig(
@Value("\${spring.redis.host}")
private val host: String,
@Value("\${spring.redis.port}")
private val port: Int
) {
@Bean
fun redisConnectionFactory(): RedisConnectionFactory {
return LettuceConnectionFactory(host, port);
}
@Bean
fun redisTemplate(): RedisTemplate<*, *> {
return RedisTemplate<Any, Any>().apply {
this.connectionFactory = redisConnectionFactory()
this.keySerializer = StringRedisSerializer()
this.hashKeySerializer = StringRedisSerializer()
this.valueSerializer = StringRedisSerializer()
}
}
}