inflearn logo
강의

講義

知識共有

毎秒500,000+件のトラフィックを処理するカカオ面接官のRedis

Stringよりメモリ効率が良い場合があるRedis Hash

Redis Hash

解決済みの質問

160

SJ

投稿した質問数 157

1

강의 내용을 듣고 생각했을때 ,

대부분의 경우 Redis String 보다 Redis Hash 사용하는게 대부분 이득일것 같다

생각이 들던데...

어떻게 사용하고 계시나요 ??

 

사실 저는 Redis String 으로 Json 으로 많이 사용했었습니다.

그리고 큰 장애를 경험하지 못했는데요

아무래도 트래픽에 대한 차이인것 같네요

javascript docker redis backend

回答 1

2

Hong

음.. 어떤 관점으로 보냐에 따라서 다를꺼같습니다.

 

일단 당연하게도 일반적인 상황에서는 String을 주로 사용하니깐 그냥 그대로 사용하셔도 됩니다. 하지만 음... 기준을 좀 잡아보자면 이런 조건에서는 Hash가 유리할꺼같아요.

  • 객체 필드 일부만 업데이트할 때 (HSET user:1 age 26)

  • 필드가 많고 부분 조회가 잦을 때

  • 메모리 절약이 중요할 때 (ziplist 인코딩 덕분에 작은 Hash는 매우 효율적)

 

그래서 사실상 트래픽이 낮을 떄를 기준으로 한다면 둘은 차이가 거의 없어요. 일반적으로 이런 서비스의 병목은 사용하시는 Redis의 타입보다는 네트워크 왕복횟수나 들어가는 키의 설계에서 옵니다.

 

그래서 뭐 기본적으로 String + Json을 사용한다고 잘못되었다고 말하는거 자체가 잘못된겁니다. 그렇게 사용하셔도 무방하고 앞서 제가 기준을 잡았던 기준들에 대해서 저런 상황이 발생한다면, 그떄 한번 사용해보시는것을 고려해보시는게 어떨까싶습니다.

1

SJ

감사합니다. !

제공된 스크립트를 어디서 받을 수 있나요?

0

4

0

미션 제출 방식 건의

0

10

0

트랜잭션 내 Redis I/O 에 대한 궁금한점

1

15

1

미션 진행 방식에 대한 질문입니다.

0

18

1

10월 15일 삭제예정 강의 문의

0

35

1

getOrCreate / Unique? 멱등 처리 질문

1

56

2

경쟁상태

0

46

1

stmt

0

39

1

파킹 페이지와 대기열 큐 질문입니다.

0

37

1

virtualbox 설치시

1

40

1

조회 메서드에서 @Transactional(readOnly=true) 질문

1

39

1

실행중인 컨테이너를 모두 삭제하는 방법(윈도우버전)

0

65

2

winpty docker 설정

0

56

2

vs code설치했는데도, easy docker 파일 열기에서 vs code 아이콘은 안보여요

0

42

1

강의제목에 10/15일 삭제라고 나와있는데,

0

46

1

낙관적락 질문있습니다.

0

44

1

해당 결제 부분을 포폴에서 테스트 api를 적용에 대한 궁금증

1

44

1

댓글순서부여방식

0

44

1

movablePageCount와 pageSize 상수

0

36

1

JPA와 네이티브 쿼리

0

42

1

aws 계정 생성 질문

1

64

1

verify.sh 4단계 실패 — Jenkins 컨테이너에서 127.0.0.1:6443 connection refused

0

60

2

Redis 큐

0

179

2

강의에서 작성한 코드 제공 문의

1

180

1