inflearn logo
강의

Course

Instructor

Redis Used by a Kakao Interviewer Handling 500,000+ Requests per Second

Redis Hash, which can be more memory-efficient than String

Redis Hash

Resolved

163

SJ

157 asked

1

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

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

생각이 들던데...

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

 

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

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

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

javascript docker redis backend

Answer 1

2

Hong

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

 

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

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

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

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

 

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

 

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

1

SJ

감사합니다. !

airtable 리스트가 조회 안됩니다

0

12

0

제미나이 대신 클로드

0

34

1

강의 관련 질문드립니다.

1

34

2

Redis 비동기 I/O 멀티플렉싱이 아니라 논블로킹 I/O 멀티플렉싱이 아닌가요?

0

23

2

ubuntu 18.04 다운로드 링크 삭제

0

31

2

intellij나 파이참 기준 어떻게 하는지 궁금합니다

0

36

2

Jib 빌드가 83%에서 멈추는 문제 해결(windows 사용자)

1

33

1

운영환경에서의 secret 관리

0

46

2

7강 설치 질문

0

42

2

ClusterIP 실습 시 Connection refused

0

45

2

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

0

37

1

미션 제출 방식 건의

0

36

0

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

1

37

1

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

0

54

1

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

0

44

1

getOrCreate / Unique? 멱등 처리 질문

1

63

2

경쟁상태

0

51

1

stmt

0

44

1

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

0

48

1

virtualbox 설치시

1

47

1

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

1

43

1

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

0

72

3

Redis 큐

0

180

2

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

1

183

1