반응형
@Configuration
public class RedisConfig {
@Value("${spring.data.redis.host}")
private String host;
@Value("${spring.data.redis.port}")
private Integer port;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory(host, port);
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
redis config 를 설정 중에 String 자료구조를 이용하니 cli 에서 값을 확인했을 때 value외에 이상한 것들이 딸려 붙어있는 것을 발견했다.
@SpringBootTest
public class RedisTest {
@Autowired
RedisTemplate<String, String> redisTemplate;
@Test
void test01() {
String loginId = "loginId01";
String refreshToken = "aaabbbccc";
redisTemplate.opsForValue().set("refreshToken:" + loginId, refreshToken);
String tokenInRedis = redisTemplate.opsForValue().get("refreshToken:" + loginId);
System.out.println("tokenInRedis = " + tokenInRedis);
}
}
127.0.0.1:6379> get refreshToken:loginId01
"\xac\xed\x00\x05t\x00\taaabbbccc"
RedisTemplate<String, Object> 로 되어 있어서, Object를 구별할 값을 넣어준 게 아닌가 하는 생각이 든다.
@Configuration
public class RedisConfig {
@Value("${spring.data.redis.host}")
private String host;
@Value("${spring.data.redis.port}")
private Integer port;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory(host, port);
}
@Bean
public StringRedisTemplate stringRedisTemplate() {
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(redisConnectionFactory());
return stringRedisTemplate;
}
}
@SpringBootTest
public class RedisTest {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Test
void test01() {
String loginId = "loginId01";
String refreshToken = "aaabbbccc";
stringRedisTemplate.opsForValue().set("refreshToken:" + loginId, refreshToken);
String tokenInRedis = stringRedisTemplate.opsForValue().get("refreshToken:" + loginId);
System.out.println("tokenInRedis = " + tokenInRedis);
}
}
127.0.0.1:6379> get refreshToken:loginId01
"aaabbbccc"
해결~
반응형
'TIL ✍️' 카테고리의 다른 글
24년 1월 29일(월요일) - 78번째 TIL :레디스(1) : 캐싱 전략 (0) | 2024.01.31 |
---|---|
24년 1월 25일(목요일) - 77번째 TIL : DB 로직 최소화 (0) | 2024.01.31 |
24년 1월 23일(화요일) - 75번째 TIL (0) | 2024.01.31 |
24년 1월 22일(월요일) - 74번째 TIL : 쿼리 최적화 (0) | 2024.01.31 |
24년 1월 19일(금요일) - 73번째 TIL (0) | 2024.01.31 |