작성
·
52
0
채팅 메시지를 보낼 때마다 db에 접근해서 저장하는 방식이면 디스크 io 작업이 굉장히 잦아질 거 같은데
보통 이런 경우에는 redis 를 쓴다면 redis에 저장해두었다가 스케줄링같은 방식으로 한번에 db에 저장하는 방식을 사용하는 걸까요?
답변 2
0
말씀하신 방법대로 해도 무방하다고는 생각이 되나, 코드의 복잡도가 올라갈것 같고, redis에 저장해두고 스케쥴링 처리 한다고 하더라도 db에 insert해야 하는 데이터의 건수는 동일하게 많기 때문에 새벽같은 서버가 한가한시간이 아니라고 한다면 크게 의미는 없을것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. minjun님.
채팅 메시지 저장 시, 디스크 I/O의 잦은 발생을 염려하시고 Redis를 중간 저장소로 사용한 뒤 스케줄링을 통해 한꺼번에 DB에 저장하는 방식에 대한 질문을 주셨습니다.
Redis를 캐시로 활용: Redis는 고속의 인메모리 데이터 저장소로 자주 업데이트되는 데이터를 일시적으로 저장하고 빠르게 접근할 수 있도록 돕습니다. 이를 통해 메시지를 즉각적으로 처리하면서도 성능을 유지할 수 있는 장점이 있습니다.
배치 저장 전략: 일정 시간 간격 또는 특정 조건(예: 일정 개수 이상의 메시지 도달 시)에서 Redis에 저장된 메시지를 데이터베이스로 옮겨 저장하는 전략입니다. 이를 통해 데이터베이스 I/O 작업을 줄이고 집합적인 저장을 통한 효율성을 높일 수 있습니다.
장점
주의 사항
관련 있는 더 많은 정보를 보시려면 아래의 유사한 질문을 참고하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.