Skip to content

Commit ab26999

Browse files
committed
fix
1 parent e832a4c commit ab26999

File tree

1 file changed

+3
-3
lines changed
  • contents/posts/dont-use-keys-in-redis

1 file changed

+3
-3
lines changed

contents/posts/dont-use-keys-in-redis/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Redis는 빠른 속도와 단순한 구조 덕분에 캐시, 세션 저장소,
2424

2525
### 목적
2626

27-
> Redis에서 KEYS 명령어가 실행될 때, 동시에 요청되는 **단순한 GET 명령어도 지연되는가?**
27+
> Redis에서 KEYS 명령어가 실행될 때, 동시에 요청되는 **단순한 GET 명령어도 지연되는가?** </br>
2828
> 즉, 싱글 스레드 구조에서 모든 명령어가 **순차적으로 처리되는지**를 확인합니다.
2929
3030
이를 위해 Redis에 약 **1,000만 개의 key-value 데이터를 미리 세팅**한 후, KEYS와 GET을 **동시에 요청**해 처리 시간을 측정했습니다.
@@ -76,7 +76,7 @@ slowCommand 소요 시간: 6690.167ms
7676
fastCommand 소요 시간: 6689.897ms
7777
```
7878

79-
> 단순한 GET 명령어 하나가 **무려 6.6초 동안 지연됨**
79+
> 단순한 GET 명령어 하나가 **무려 6.6초 동안 지연됨** </br>
8080
> 즉, KEYS 명령이 실행 중일 때, 아무리 단순한 명령어라도 모두 블로킹됨
8181
8282
### 왜 이런 현상이 발생할까?
@@ -138,7 +138,7 @@ Client B: GET key:1
138138

139139
이번 실험을 통해 Redis의 싱글 스레드 구조에서 KEYS 명령어 같은 **O(N)** 명령어가 실시간 서비스에 얼마나 큰 영향을 줄 수 있는지 **직접 눈으로 확인**할 수 있었습니다.
140140

141-
> 하나의 단순하고 편리한 명령어가 전체 시스템을 블로킹시킬 수 있다는 점
141+
> 하나의 단순하고 편리한 명령어가 전체 시스템을 블로킹시킬 수 있다는 점 </br>
142142
> 운영 환경에서 Redis 명령어를 실행할 때, 단순함과 편리함 뒤의 위험성도 반드시 고려해야 합니다.
143143
144144
## **📁 참고**

0 commit comments

Comments
 (0)