Spring Data Redis에서 O(N) 명령어인 Keys를 Scan으로 대체하기
2022. 5. 11. 15:36
기타 IT
아직 Redis에 대해서는 잘모르지만, 싱글 스레드로 동작하기 때문에 O(N)은 피해야 한다는 것을 알게 되었다. redis-cli가 아닌 Spring Data Redis의 RedisTemplate에서 어떻게 대체할 수 있는지 어떻게 대체 했는지 기록해보려고 한다. keys 명령어 → Scan 명령어로 개선하기 keys 사용할 경우 @Transactional public void updateRDB() { HashOperations hashOperations = redisTemplate.opsForHash(); Set keys = redisTemplate.keys("posts:*"); for (String key : keys) { int index = key.indexOf(":"); Long postId ..