참고자료
디스크 I/O?
디스크(예: HDD, SSD)와 컴퓨터의 메모리 간 데이터를 읽고 쓰는 작업을 의미한다.
I - Input 입력: 데이터를 메모리에서 디스크로 저장
(ex. 데이터베이스에 새로운 레코드를 추가하거나 파일을 저장할 때)O - Output 출력: 디스크에 저장된 데이터를 메모리로 가져옴
(ex. 파일을 열거나 데이터베이스에서 쿼리 결과를 가져올 때)
디스크 I/O는 데이터베이스나 파일 시스템에서 데이터를 저장하거나 읽어오는 과정에서 발생하며, 일반적으로 디스크의 물리적 특성과 대역폭에 의해 속도가 제한된다.

장점
- 멀티 스레드 환경이 아니라서 Context Switch(작업 전환)가 발생하지 않아 효율적인 시스템 리소스 사용이 가능하다
- 마찬가지로 DeadLock(스레드들이 아무것도 진행하지 않는 상태로 서로 영원히 대기하는 상태)도 발생하지 않는다
단점
- 싱글 스레디이므로 전체 데이터 스캔과 같은 오버헤드가 큰 명령어를 처리하는 동안 다른 명령어 처리 불가
- 다른 명령어들은 이벤트 큐에 저장되어 있는 시간이 길어져 응답 속도가 저하된다.
참고사항)
IO 멀티플렉싱?
단일 스레드가 동시에 여러 네트워크 연결(소켓)을 관리할 수 있도록 도와주는 기술로, Redis는 이 기술을 사용하여 효율적으로 클라이언트 요청을 처리한다.
클라이언트가 데이터를 요청한다.서버는 먼저 Redis Cache에서 해당 키를 찾는다.클라이언트는 캐시된 데이터를 받게 된다.서버는 데이터베이스나 REST API를 통해 가장 최신 정보를 가져온다. 
Redis에 저장되는 모든 데이터는 유효 기간을 설정할 수 있다.
유효기간이 지난 데이터는 Redis가 해당 데이터를 메모리에서 삭제하므로, 효율적인 메모리 사용이 가능하다.
EXPIRE : 이미 생성된 데이터에 EXPIRE 명령어를 사용하여 유효 기간을 설정EX : 데이터를 생성할 때 EX 옵션을 사용하여 생성과 동시에 유효 기간을 설정💭 사내 프로젝트로 진행한 프로덕트를 위해 DB를 추가로 생성하긴 좀 그렇고, 그럼 인메모리 DB를 사용해볼까? 하던 찰나에 Redis 를 제안해주셔서 정리해본 개념노트.
덕분에 어떤 식으로 로직을 처리해야할지 조금씩 눈에 보이기 시작하는 거 같은데, 또 직접 삽질 여러번 해봐야 체화 되겠지..!!! 🪚