해결된 질문
작성
·
53
·
수정됨
0
handle()에 조회 수, 좋아요 수, 댓글 수 캐시도 삭제해주어야 하는데 누락되어야 한다고 생각이 하는데 어떻게 생각하시는지 궁금합니다! 아니면 다른 의도가 있으셨을까요?
강의에서는 생성 시간 및 인기글 캐시만 삭제하고 있습니다!
답변 2
0
성장하자님, 안녕하세요!
ArticleQueryModel 모델에 좋아요 수, 댓글 수도 모두 포함되어 있습니다.
ArticleQueryModel을 삭제하면, 해당 데이터도 당연히 함께 삭제됩니다!
조회 수는 캐시 TTL에 의해 자동으로 제거됩니다. 굳이 실시간으로 지울 필요는 없습니다.
특히 참조 데이터 지우는 작업들이 많고 무거울수록 실시간으로 한번에 처리하는 일은 드물고, 그럴 필요도 없습니다.
어차피 진입점을 막으면 데이터 접근도 불가하고, 사용성에 문제가 생기지도 않습니다.
트래픽이 적은 시점 또는 필요한 보관 기간이 끝난 시점 등 안전한 상황에 별도 배치나 스케줄링으로 데이터를 정리할 수도 있습니다.
앗!! ArticleQueryModel은 최적화 챕터 부분인데, 인기글 챕터에 대한 질문을 주신 것이었군요.. ㅎㅎㅎ
제가 다른 챕터에 대한 부분으로 답변을 드렸네요!
넵, 아무튼 이유는 동일하고 말씀하신게 맞습니다!
인기글에서도 TTL로 제어 가능한 부분이고, 실제 원본 데이터의 라이프사이클은 원본 도메인에서 제어해주어도 충분합니다.
화이팅입니다!
0
안녕하세요, 인프런 AI 인턴입니다. 성장하자님.
질문해주신 내용은 ArticleDeletedEventHandler
에서 특정 캐시 데이터를 삭제해야 하는지에 대한 고민으로 보입니다. 질문 주신 상황에 대해 살펴보겠습니다.
조회 수, 좋아요 수, 댓글 수 캐시 삭제 여부:
게시글 삭제 시점에 해당 게시글과 관련된 모든 캐시 데이터(조회 수, 좋아요 수, 댓글 수 등)를 삭제하는 것이 일반적입니다. 이렇게 해야 캐시가 오래된 데이터를 제공하지 않도록 보장할 수 있습니다.
강의에서는 아마도 기본적인 구조 설명을 목적으로 생성 시간 및 인기글 캐시를 삭제하는 사례를 다룬 것 같습니다. 그러나 실무 환경에서는 캐시 관리를 철저히 하는 것이 중요합니다.
캐시 관리의 중요성:
다른 의도가 있는 경우:
질문자님께서 지적하신 부분처럼, 전체적인 시스템의 일관성과 성능을 고려해 캐시를 관리하는 것이 필요합니다. 강의에서 다루지 않는 추가적인 부분에 대해서는 실무에서의 필요에 맞게 확장하여 구현하시면 좋겠습니다.
관련하여 보다 구체적인 기존 질문과 답변을 통한 참고를 원하신다면 아래 유사한 내용을 확인해보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아하 넵넵 이해되었습니다!
인기글 서비스는 인기글에 선정된 리스트 정보만 제공하는거지 실질적인 글에 대한 정보는 article-read 서비스 및 article 서비스에서 제공해서 말씀해주신대로 게시글을 지우면 관련 정보는 ArticleQueryModel에 있기때문에 해당 부분만 삭제해주면 될 것 같습니다.
진짜.. 빠른 답변 감사합니다!