우선 이 두가지의 선지식의 차이가 두가지의 차이이기에 알아보도록 하겠다.
https://aws.amazon.com/ko/compare/the-difference-between-ssd-hard-drive/
데이터베이스 역할 분리:
MySQL은 복잡한 쿼리와 트랜잭션을 처리하는 데 강점이 있습니다. 관계형 데이터를 안정적으로 저장하고 검색하는 데 사용됩니다.
Redis는 주로 메모리 내에서 빠르게 데이터를 읽고 쓰는 데 특화되어 있습니다. 주로 캐싱, 세션 관리, 메시지 브로커 등에 사용됩니다.
데이터베이스 성능 향상:
Redis는 메모리에 데이터를 저장하므로 읽기 작업이 매우 빠릅니다. 프로젝트에서 자주 사용되는 데이터를 Redis에 캐시로 저장하면 데이터베이스 부하를 줄일 수 있습니다.
실시간 데이터 처리:
Redis는 PUB/SUB 메커니즘을 통해 메시지 브로커로 활용할 수 있습니다. 이를 통해 실시간 이벤트 기반 아키텍처를 구성할 수 있습니다.
임시 데이터 저장:
Redis는 데이터를 메모리에 저장하므로, 캐시나 임시 데이터 저장소로 사용하기에 적합합니다. 특히, 자주 변경되는 데이터나 빈번한 읽기 작업에 유용합니다.
프로젝트 확장성:
MySQL과 Redis를 조합하여 사용하면, 각 데이터베이스의 강점을 살려 프로젝트의 확장성을 높일 수 있습니다. 예를 들어, MySQL은 데이터의 영구적인 보관에 적합하고, Redis는 빠른 읽기/쓰기 작업에 적합하므로 서로 보완적으로 사용할 수 있습니다.
비동기 작업 처리:
Redis를 사용하면 메시지 브로커로서 비동기 작업을 효과적으로 처리할 수 있습니다. 이를 통해 프로젝트의 성능을 향상시키고 사용자 경험을 개선할 수 있습니다.
=> redis와 mysql을 같이 사용한다면 어떤 정보는 redis로 처리할지 mysql로 어떤 정보를 저장해서 읽을지를 판단하는 것도 중요하다고 봅니다.