REDIS 사용 이유
REDIS 소개
- REDIS는
Re
mote Di
ctionary S
erver의 약자- 즉, 외부에 key-value 값을 저장하는
서버
- REDIS는 SSD, HDD와 달리 메인 메모리인 RAM에 데이터를 저장
- 속도가 굉장히 빠르지만, 그 대가로 용량이 작음
- 이 때문에, 메인 DB로 사용되지 않고 캐시 DB 서버로 사용됨
- 여러 서버에서 접근이 필요한 Global Cache로 사용됨
- 싱글 스레드로 실행됨
Local Cache vs Global Cache
- Local Cache
- Local 내에서만 사용되는 캐시
- 속도가 빠르지만, 외부에서 접근은 불가
- 서버가 하나인 경우에 좋음
- Global Cache
- 여러 서버에서 캐시 서버에 접근해서 사용하는 캐시
- 네트워크를 타야 하므로 Local Cache에 비해 비교적 느림
- 여러 서버에서 접근이 가능하므로 서로 다른 서버에서 같은 데이터를 사용할 때 용이
REDIS 사용 이유
- 여러 서버에서 데이터를 사용하는 경우 빠르게 데이터를 제공 가능
- I/O가 자주 발생하는 경우 DB 부하를 줄일 수 있음
- REDIS의 캐싱을 이용해 DB에 데이터를 바로 업데이트 하지 않음
- 일정 기간마다 DB에 한꺼번에 업데이트를 해서, 수많은 I/O에 대한 부담을 줄임
- 사용자 세션 관리에도 적합
- Pub / Sub 모델을 통해 실시간 채팅 및 스트리밍 서비스 지원 가능
- Scale-out이 쉬움
- Master - Replica 구조를 통해 Master의 데이터를 복제 가능
- 읽기 부하를 줄일 수 있음
- 다양한 유형의 데이터를 쉽게 저장 및 검색 가능
- 간단한 API와 대규모 사용자 커뮤니티
References
- https://zangzangs.tistory.com/72
- https://rhgustmfrh.tistory.com/30
- https://brunch.co.kr/@skykamja24/575
- https://a-mond.tistory.com/9
- https://hongcode.tistory.com/m/70