레디스를 사용 시 반드시 주의할 점이 있는데, 바로 레디스는 싱글 스레드로 동작한다는 점이다. 정확히 말하자면 메인 스레드 1개와 별도의 스레드 3개, 총 4개의 스레드로 동작한다.
하지만 클라이언트의 커맨드를 처리하는 부분은 위 그림처럼 이벤트 루프를 이용한 싱글 스레드로 동작한다. 최소 하나의 코어만 있어도 레디스를 사용할 수 있어 배포가 쉬우며, CPU가 적은 서버에서도 좋은 성능을 낼 수 있다. 또한 멀티 스레드 애플리케이션에서 요구되는 동기화나 잠금 매커니즘 없이도 안정적이고 빠르게 사용자의 요청을 처리할 수 있다.
그러나 한편으로 레디스가 싱글 스레드로 동작한다는 것은 한 사용자가 오래 걸리는 커맨드를 수행한다면, 다른 사용자는 그 쿼리가 완료될 때까지 대기할 수 밖에 없다는 것이다. 이러한 특징으로 인해 인적 장애가 발생할 가능성이 매우 높다.
레디스는 메모리에서 동작하기 때문에 대부분의 커맨드는 빠른 응답 시간을 갖지만 반환이 느린 특정한 커맨드가 존재한다. 이런 커맨드만 주의해서 사용해도 장애 가능성을 줄일 수 있으니 알아두자.