keys와 scan 풀탐색 시간 비교
2018. 8. 2. 14:46ㆍProgramming/Redis
Redis는 Single Thread 구조이기 때문에 keys 명령을 날리게 되면 redis가 lock이 걸림
그렇기 때문에 이를 보완하기 위해서 scan 명령어가 생겼는데
scan 명령어는 범위를 지정하여 탐색 할 수 있도록 지원되어 있음
keys 풀탐색
명령어 : keys *
대상 : 633538 row
탐색 시간 : 42.28s
scan 풀탐색
명령어 : scan 0 count 1000000
대상 : 633538 row
탐색 시간 : 46.32s
keys 부분탐색
명령어 : keys *l*
탐색 시간 : 2.28s
scan 부분 탐색
명령어 : scan 0 match *l* count 1000000
탐색 시간 : 3.26s
풀탐색 속도만으로 가정해 본다면 keys가 더 빠른 속도로 탐색하므로 keys대신 scan으로 풀탐색을 할 필요가 없음
부분 탐색에서 thread가 lock이 안걸리게 하는 용도로 사용 하는 것이 좋을듯 해보임
'Programming > Redis' 카테고리의 다른 글
[Redis] Hiredis vs cpp_redis (0) | 2019.04.29 |
---|---|
레디스 개발자 antirez 블로그 주소 (0) | 2018.08.27 |
c++ hiredis rediscommand (0) | 2018.07.18 |