Redis는 경쟁 상태를 방지하기 위해서 싱글 스레드로 동작한다.
이런식으로 1000이었던 count를 5개의 스레드에서 1000씩 더하면 결과값 6000을 예상할 것이다.
하지만 원하지 않은 결과값이 나올 수 있다. 왜냐하면 스레드1이 1000에다가 1을 더하던 중에
스레드2도 1000에다가 1을 더하게 되면 정상적으로 count 변수의 값이 올라가지 않을 것이다.
위 같은 경우를 방지하기 위해서 싱글 스레드로 동작한다.
Redis는 **Event Loop를 이용하여 요청을 수행
**한다.
실제 명령에 대한 작업은 커널 I/O 레벨에서 다중화를 통해 처리하여 동시성을 보장한다.
**유저 레벨에서는 싱글스레드로 동작
**하지만 커널 I/O 레벨에서는 스레드풀을 이용