Skip to content

[REFACTOR] 소품샵 추천 - 랜덤 : redis 사용 제안 #205

Description

@LeeJE20

✅ Refactor Request check list

  • 이슈 제목: [REFACTOR] '리팩토링 내용 상세'
  • Assignees, Label을 붙여주세요.

리팩토링 개요

  • [BUG] 소품샵 추천 - 랜덤  #202 관련
  • 현재 sql을 이용해 랜덤한 소품샵을 찾게 구현되어 있는데, 해당 sql은 random()에 따라 전체 정렬을 하므로 성능이 좋은 방식은 아니라는 단점이 있습니다
  • 따라서 성능을 높이기 위해 redis에 소품샵 번호를 캐싱해두고, 캐싱한 데이터에서 랜덤으로 n개 추출해서 사용하는 방식을 제안합니다
    • 소품샵 개수가 500개 미만이므로 redis의 용량 부담은 적을 것으로 생각합니다

TODO

  • redis에 is_deleted가 false인 소품샵 번호 전부 저장
  • 랜덤 소품샵 추천 요청이 들어오면 redis에서 소품샵 번호 목록 불러오기
  • 소품샵 번호 목록에서 랜덤으로 n개 고르기
  • db에서 n개 소품샵에 대한 상세 정보 읽어오기

Metadata

Metadata

Assignees

No one assigned

    Labels

    💻 refactor기능 변화 없이 내부 코드 수정

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions