Redis Scan 사용
Keys 보단, SCAN을 사용하자 # 모든 key를 조회하는 명령인 keys는 사용하지 말고, scan 명령으로 대체하여 사용해야합니다. KEYS 명령어의 위험성 가장 먼저 구현한 기능은 특정 검색 키워드의 캐시를 삭제하는 기능이었는데, key를 삭제하기 위해서는 먼저 조회를 해야 합니다. 이때 일반적으로 생각할 만한 명령어가 바로 KEYS 입니다. glob pattern으로 간단히 데이터베이스의 모든 key를 조회할 수 있고, 시간 복잡도가 O(N)이기는 하지만 공식 문서에 따르면 저사양 랩탑에서도 40ms 내에 100만 개의 key가 존재하는 데이터베이스를 스캔할 수 있다고 합니다. 그러나 이 명령에는 치명적인 문제점이 있는데, 해당 명령이 실행되는 도중에는 다른 모든 명령의 실행이 블로킹된다는 점..
Data
2024. 4. 16. 16:36