inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Redis 중급/실전

[실습] 많이 검색한 키워드 Top 10을 보여주는 '인기 검색어 기능’ 만들기 - 2

선생님 질문있습니다!

1

0S

작성한 질문수 26

0

선생님이 설명해주신 코드를 의사코드로 짜봤는데..

search(keyword){
   db <- `UPSERT list SET count = count+1 WHERE keyword={keyword}`
}

getTop10(){
   return db <- `SELECT * FROM list ORDER BY DESC LIMIT 10`
}

대충 이렇게 되면 DB 속도때문에 느리니까

search(keyword){
	redis <- `ZINCREBY ranking_list 1 {keyword}`
}

getTop100(){
	redis <- `ZRANGE ranking_list 0 9 REV`
}

이렇게 처리하자는 느낌인거 같아서요!

우려스러운건 그럼 DB에는 어떻게 언제 저장해야하나요?

redis nosql query-tuning performance-tuning

답변 1

0

0S

  • 개선전 코드
    search(keyword){

db <- UPSERT list SET count = count+1 WHERE keyword={keyword}

}

getTop10(){

return db <- SELECT * FROM list ORDER BY DESC LIMIT 10

}

  • 개선후 코드
    search(keyword){


    redis <- ZINCREBY ranking_list 1 {keyword}

    }

    getTop100(){


    redis <- ZRANGE ranking_list 0 9 REV
    }

MSA 통신방식에 대해서 질문 있습니다.

0

33

1

최근 N개 데이터 표현 시 중복 질문

0

41

1

안녕하세요 질문있습니다.!

0

43

2

@Modifying에 관하여

1

45

1

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

2

65

1

부하 테스트 시 설정 관련 질문드립니다

1

91

2

섹션 2

0

45

1

pub/sub의 연결 객체에 대해 질문 드립니다.

0

61

2

build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)

0

80

2

Request Failed 가 뜹니다.

0

70

2

수강 완료한 강의 수료증 어떻게 받나요?

0

53

1

ArticleReadService 관련 질문

0

50

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

2

111

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

94

1

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

123

1

스크립트에 대해 질문 있습니다.

1

92

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

115

1

조건 검색 질문

0

61

1

p.created_at vs u.name 인덱스 문의

0

71

2

비관적 락과 낙관적 락에서 임계 영역 질문 있습니다.

0

68

2

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

61

1

재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?

0

97

2

(해결완료)EC2 이중화를 해도 기존 EC2 CPU 사용률이 높은 문제

0

65

2

mysql 의 bitmap

0

79

1