inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

초당 500,000+건 트래픽을 처리하는 카카오 면접관의 Redis

TTL 산정 기준

해결된 질문

54

가다가진아

작성한 질문수 2

0

안녕하세요.


현업에서 TTL을 설정할 때 산정하시는 기준이 궁금합니다.

어떤 근거로 산정하거나 또는 기준에 대한 공식이나 예시가 혹시 있을까용?


감사합니다.

javascript docker redis backend

답변 1

0

Hong

안녕하세요 가다가진아님 질문 남겨주셔서 너무 감사합니다.

우선 요즘 날씨가 많이 추워요 ㅠㅠ 건강 조심하시고 항상 가다가진아님의 커리어를 응원할게요!!


질문 주신 부분에 대해서 답을 해드리자면, 우선 기준은 없다로 말할 수 잇을꺼같아요.


이 TTL이라는 산정 기준은 다양한 요소가 고려가 될꺼에요.


  1. 어떤 도메인인지

  2. 서비스가 얼마나 성숙하지

  3. MAU 및 DAU는 어떤지

  4. DB와 데이터 일관성이 많이 벌어져도 괜찮은지

등등 정말 많은 요인이 개입이 되게 됩니다.


그래서 이 모든 것들을 기준을 잡고 5초로 하세요, 10초로 하세요 이렇게 말 할 수는 없을꺼같아요.


대신 이렇게 사고를 해보시면 좋을꺼같아요.


  1. 배너 같은 데이터는 캐시 주기를 오래 놓아도 괜찮겠죠?? 변화가 없는 어드민이 셋팅하는 값이니깐요.

    1. 자연스럽게 그러면 이렇게 생각 해보실 수도 있죠 "잘 변화가 없는 데이터는 캐시 생명 주기를 길게 가져가야겠다"

  2. 서비스 관점의 데이터는 어떨까요?? 예를들면 상품 재고 같은 데이터요.

    1. 실시간으로 많이 변동이 될 수 있고 데이터의 일관성이 떨어진다면 시스템 장애가 발생하기 떄문에 "캐시를 넣지 않아야겠다."


캐시라는것은 필수가 아니에요. 넣으면 되는 부분이 있고 오히려 넣지 않아야되는 부분이 있습니다. 그래서 가다가진아님임 어떤 부분에 집중하고 있는지 캐시를 넣었을 떄 어떤걸 고려해야 하는지 그리고 생명 주기를 길게 빼버리면 어떤 문제가 발생할지 이런 부분들을 고려하셔서 적합한 생명 주기를 설정하기를 추천 드릴게요.


  • 참고로 저는 너무 트래픽이 적어서 데이터의 상태가 많이 바뀌지 않는 형태에 대해서는 1초로 넣는 경우도 있어요!! 텀블링 하드라는 문제 정도는 예방하고 싶어서요!!


감사합니다!

수업 소스가 강의 시작전 코드만 있는게 맞나요?

0

16

2

useState는 왜 state를 setter를 통해 변경해야 하는지 궁금해요.

0

19

1

트러블슈팅 케이스 스터디 - P 대형 커머스

0

14

2

강의 내용 질문 `[실습] MDC·UTM·세션ID로 "돈 버는 로거" 만들기`

0

16

1

26년 11월 기준 쿠버네티스 설치 가이드 요청

0

15

1

vagrant 가 잘안됩니다.

0

22

1

kubeinstall.sh 오류 확인 요청드립니다.

0

18

1

강의 자료가 어디있나요?

0

36

2

용어 관련

1

55

1

[github fork]tz-argocd-repo

0

38

1

강의 소스코드는 어디서 다운받을 수 있나요?

1

55

2

강의할때 문서? 텍스트 있는거 어디서 받아요?

0

28

1

팔로워수,팔로잉수 조회 설계

1

39

1

사이트 로그인이 안됩니다

1

41

1

JpaPagingItemReader는 좋은게 없는거야..??

0

56

1

현재 배포 아키텍처에서 Kafka 테스트 배치 및 구성 방향 질문드립니다.

0

41

1

Part2 수강 방법

0

51

1

nginx 질문드려도될까요?

0

47

1

20강 4분 30초 코드와 6분 30초 코드 관련 질문

0

50

1

영상에서 소개되는 코드와 강의 노트 코드가 달라요

0

52

1

code in python 추가 안됩니다

0

58

2

Redis Hash

1

174

1

Redis 큐

0

195

2

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

1

198

1