Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

소셜 기능 (찜하기, 조회수) 구현 #19

Open
wants to merge 8 commits into
base: roki/social
Choose a base branch
from

Conversation

KimGyeongLock
Copy link
Collaborator

  1. 찜하기
    발생할 수 있는 문제 및 해결 방안

    • 좋아요 중복 요청 처리
      • 애플리케이션 레벨에서 existingLike로 중복 처리 -> 논리적 해결
      • DB 레벨에서 유니크 제약 조건을 추가하여 중복 처리
    • 성능 문제
      • Redis 사용해서 DB까지 가지 않고 저장 및 조회
      • 디비에 1분마다 동기화 (1분은 미지수)
    • 트랜잭션 경쟁 상태
      • Redis 사용해서 원자성 보장
    • 삭제된 상품에 대한 좋아요 처리
      • product 삭제 전에 좋아요 부터 지우기
  2. 조회수

    • 유저 당 한번 증가
      • 조회수 redis key와 유저별 조회 이력 redis key 두개로 관리
      • 유저별 조회 이력은 Redis의 Set 자료 구조를 활용
      • Set 데이터 만료 기간 7일 -> 7일 후에 다시 들어가면 조회수가 오른다는 말

@KimGyeongLock KimGyeongLock changed the base branch from develop to roki/social November 17, 2024 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant