강의

멘토링

로드맵

Inflearn brand logo image
개발 · 프로그래밍

/

데이터베이스

대기업 근무하며 경험한 Redis를 야무지게 사용하는 방법 [실습]

이 강의에서는 이론을 직접적으로 다루는 것이 아니라, 실습을 하는 과정을 통해 코드에서 Redis를 야무지게 사용하는 방법에 대해서 학습합니다.

(3.9) 수강평 11개

수강생 264명

  • Hong

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • Spring을 통한 Redis 소스 작성법

  • Redis의 가장 기본적인 Set

  • Redis를 활용한 랭킹 데이터 다루기

  • Redis를 활용한 캐싱 전략 구현

캐싱을 도입해서 단위 개발을 진행해달라는 요청이 들어왔어요..! 🤔

여러분들은 이런 기능개발 요청에 대해서 캐싱을 도입해야 할 떄, 어떻게 도입을 하시나요?? 또한 어떤 툴을 사용하시나요?? 이런 새로운 요구사항이 들어오면, 다음과 같은 항목을 고려하셔야 할 겁니다.


[1] 🤔 어떤 캐싱툴을 도입해야 할까??

[2] 🤔 캐싱 전략이라고 있는데.. 그건 어떤 전략을 사용해야 할까??

[3] 🤔 기간이 여유있을까?? Learning Curves로 인해 시간이 필요한데


이렇게 새로운 기능에 대한 시스템을 도입하기 전에 해당 시스템이 어떻게 동작을 하고, 어떻게 활용을 하는지에 대해서 기본적으로 아셔야 합니다. 그래야만 제대로 사용 할 수 있고, 추후 코드 개선이나 유지 보수를 하는데에 있어서 큰 무리가 없습니다. 이 강의에서는 여러분들이 캐싱을 도입한다는 상황을 가정하고 대표적인 캐싱 툴인 Redis 에 대해서 정말 상세하게 배우게 됩니다.

Redis.. 꼭 알아야 할까요?? 🤔

네 절대적으로 학습하셔야 합니다!!

서버에서의 실무를 경험해 보신 분들이라면, database도 필수적으로 사용이 되지만 redis가 사용되지 않는 경우는 절대 존재하지 않습니다.

Redis 를 사용한 cache 도입은 플랫폼 개발에 있어서 필수적인 요소 입니다.

  • Redis를 사용안하고 상황에 따라서 다른 캐싱 툴을 도입하는 경우도 있습니다. 하지만 기본적으로 캐싱툴은 사용이 되고 있으며, 가장 많이 사용되는것이 Redis 입니다.


강의 특징 😉

1⃣ Spring, Spring Boot, Java를 활용한 API 구성하기

2⃣ redisinsights를 활용한 redis 관리

3⃣ Slave, Master Node를 운영하는 방법

4⃣ 다양한 타입에 대한 redis 활용하는 방법

5⃣ Mutex Key 및 Script를 활용한 다양한 redis 서비스 활용법

학습 내용 😉

Redis를 활용한 가장 간단한 Collection 다루기

Redis를 사용하시면서 가장 많이 사용하는 Collection을 사용하는 방법과 함수 추상화를 통해서 범용성있게 함수를 사용하는 방법을 학습하실 수 있습니다.

Sorted Set등을 활용한 실제 기능에 대한 데이터 구현

특정 기능을 구현하는데에 있어서 사용이 될 수 있는 Collection을 활용하며, 이를 통해 실제 기능을 구현하는 방법을 학습 하실 수 있습니다.

가장 기본이 되는 Caching Strategy과 Cache Hit을 위한 PER Strategy

Caching Strategy에는 정답이 없습니다. 대신 최선의 선택지가 존재합니다. 가장 기본이 되는 Strategy와 알고리즘을 활용한 Strategy를 함께 학습 하시게 됩니다.

Lua Script 사용하며 Atomic 보장해보기

하나의 기능에서 Redis를 통해 여러번 Command를 전송하는 행위는 Atmoic을 보장하기 적합하지 않습니다. Script를 통해서 Atmoic을 보장하는 쿼리를 전송하시게 됩니다.

Distributed Lock을 활용하는 실전 코드

실제 실무에서는 다양한 인스턴스를 운영합니다. 이런 상황에서 Client가 Mutex를 제어하는것은 올바르지 않습니다.

Redis를 활용하여 여러 인스턴스간에 Lock을 제어하는 방법을 학습 하실 수 있습니다.

실습 예시 😉

Master, Slave Redis Node를 직접 설정 및 운영하는 방법

Redis Pipeline을 활용한 I/O 최적화

Redis Script를 활용한 Atmoic 데이터 처리

같이보면 좋은 강의 😉

수강 전 참고 사항

실습 환경

  • MacOs M1에서 강의가 촬영되었습니다.

  • java 17 2021-09-14 LTS 버전이 사용되었습니다.

  • 모두가 익숙하신 VsCode를 IDE로 활용하였습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Redis를 왜 써야하는지, 어떻게 써야하는지 궁금하신 분

  • 백엔드 개발자를 꿈꾸시는 분

  • 누구나 아는 방법이 아닌 실무자가 사용하는 방법이 궁금하신 분

안녕하세요
입니다.

2,728

수강생

188

수강평

76

답변

4.5

강의 평점

14

강의

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

커리큘럼

전체

25개 ∙ (2시간 45분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

11개

3.9

11개의 수강평

  • Kkyle님의 프로필 이미지
    Kkyle

    수강평 6

    평균 평점 5.0

    5

    60% 수강 후 작성

    초심자도 듣기 좋은 강의이고 반복적인 코드일수도 있지만, 실제 하나하나 작성해주시면서 함께 강의를 구성해나가는 좋은 강의라고 생각합니다. 이렇게 Redis를 직접 운영하고 노드마다의 Ping 처리하는 강의는 보지 못했고 처음보는 개념이라서 굉장히 유익하였습니다. 해당 강의에서는 Spring을 사용하였지만, 사실상 개념적인 부분만 학습해도 매우 좋은 강의라고 평가 할 수 있을꺼같습니다. - 그래서 저는 실제로 제가 사용하는 언어로 따라하며 직접 구현하였습니다. 좋은 강의 공유해주셔서 감사합니다!

    • Hong
      지식공유자

      좋은 평 남겨주셔서 감사합니다. Redis는 정말 실무에서 많이 사용되는 툴 입니다. 그래서 자세히 알고 다양한 사용 방법에 대해서 숙지하시면 많은 도움이 되실꺼에요. 사실 제가 알려드리는 내용만 모두 숙지하셔도 앞으로 Redis를 작업하는데에 있어서 어려운 부분이나 모르시는 부분은 없을꺼라고 생각합니다. 실제로 제가 사용하고 있는 방식을 기반으로 강의가 촬영이 되기도 하였고요 앞으로 좋은 개발과 재미있는 개발 하시기를 바라겠습니다. 감사합니다 :)

  • 유쾌한 캥거루님의 프로필 이미지
    유쾌한 캥거루

    수강평 14

    평균 평점 4.9

    5

    60% 수강 후 작성

    Redis를 코드상에서 이렇게 자세하게 파고든 강의는 처음이라고 생각합니다. 어느정도 익숙한 Spring, Java코드를 활용하여 제가 몰랐던 캐싱 정략과 그에 따른 이점과 단점을 말로만 하는것이 아니라 실제로 구현하는 모습이 인상깊었습니다. 개인적으로는 되게 유익했다고 생각합니다. 그럴싸하게 어려운 용어로 포장한 것이 아니라 좀 더 친숙하고 최대한 쉽게 알려주려고 노력하는 모습이 느껴지기도 한 강의였습니다. 좋은 강의 감사합니다 강사님.

    • Hong
      지식공유자

      안녕하세요 이론적인 부분에 대해서 한번 다루어보았는데, 실제 코드를 작성하는 방법에 대해서도 알려드리고 싶었습니다. 좋은 평 남겨주셔서 감사합니다.

  • devHand님의 프로필 이미지
    devHand

    수강평 9

    평균 평점 5.0

    5

    60% 수강 후 작성

    코드는 되게 간단하고 처음하는 사람이 보기 좋은 강의라고 생각을 하고 더 중요한 부분은 강사님이 말씀해 주시는 다양한 사용법이라고 생각합니다. 듣지않고 코드만 본다면, 만족하지 못하는 분들도 있을꺼같아요.

    • Hong
      지식공유자

      Redis를 다루는 코드는 그렇게 어려운 부분이 없습니다. 되게 한정적으로 사용하기 떄문이고 사실상 반복적인 로직이 많이 적용이 되기 떄문입니다. 문제는 Redis를 어떻게 사용하냐고 굉장히 중요합니다. 싱글스레드라는 성질을 알고 다양한 형태를 알고 구현 할 수 있다면 실제 실무에서도 많은 도움이 된다고 생각을 합니다. 좋은 평 남겨주셔서 감사합니다.

  • 요니님의 프로필 이미지
    요니

    수강평 11

    평균 평점 5.0

    5

    96% 수강 후 작성

    강의 잘 들었습니다 강사님! 이론편을 2주전엔가 들었는데 미루고 미루다 이제서야 실습편을 다 들었네요.. 솔직히 마지막 루아스크립트 편은 따라치다가 멈추고 강의만 봤달까요..ㅎㅎ (이런게 있구나.. , 근데 당장은 안쓸거같은데..? ㅎㅎ..) 강의는 전반적으로 경험이 없는 개발자가 springboot에서 레디스를 연동할때 듣기좋은것 같습니다! 지난번 이론편 강의 답장처럼 큰 방향성을 알려주시는 강사님 철학답게, redisTemplate / lua script / distribution lock에 대한 흐름은 파악한 것 같습니다! 하지만 강사님 말씀처럼 결국 공부는 스스로가 해야하니, 이 큰 흐름 기반으로 더 많은 레퍼런스들을 접하고 , 실전 코드도 짜봐야 실무에 레디스를 잘 적용할 것 같습니다! (요부분은 강의 수강전인 분들도 참고해주시면 좋을거같아요! A to Z까지 다 알게된다는 측면보단, 큰 흐름을 알려주시는 강의 입니다!) 왜냐면 저는 회사에서 레디스를 단순 비동기 통신 수단으로 만 쓰고 있었거든요.. (제가 맡안 서버가 A / 연동할 서버가 B) 라고 한다면, A가 db에서 값을 읽어 -> 레디스에 hash로 넣어두면 -> B가 원하는 주기로 읽어가는 형식) 대표적인 활용 사례인 캐싱/ 분산락에 대해 좀더 알고싶어서 공부를 좀더 해봐야할거같네요 ^^ 그럼 이제 [빈둥대던 취준생의 취업 이야기와 서버 최적화 및 시스템 디자인] 강의에서 뵙겠습니다~

    • Hong
      지식공유자

      안녕하세요 요니님~! 이렇게 진심어린 평 남겨주셔서 감사합니다!! 뭔가 저의 강의를 하나하나 훑어 보시면서 평을 남겨주시는거 같아서 부끄러우면서도 너무 감사드리네요. 이 강의는 사실 처음에는 되게 쉽게 다루고 싶었어요. 그러다 보니 간단한 API 같은 부분을 다루어 보았는데, 가면 갈수록 이런 부분도 알면 좋지 않을까라는 욕심이 생기다 보니 마지막가서는 점점 난이도가 높아지는 경향이 있네요 ㅠㅠㅠ 그래도 많은 도움이 되셨기를 바라겠습니다. 회사에서 Redis를 이벤트 스트림 모델로써 활용하시다니!! 간단한 서비스라면 매우 좋은 형태인거 같아요. 이러면 서비스간에 느스한 결합을 구현 할 수 있는 형태라고 생각을 합니다. 저는 해당 패턴은 A 발행하는 이벤트에서 받은 데이터를 B에 전달하기 위해서 사용하고 있고, 요니님과 비슷한 형태로 사용을 하고 있습니다 ㅎㅎ 다음 강의는 저의 개인적인 이야기와 좀 더 이론적이고 고려해볼법한 부분을 다루는 강의인데 취향을 좀 많이 타실 수 있는 강의라고 생각을 해요... 그래도 많은 도움이 되셨으면 좋겠습니다. 다음에 더 좋은 강의로 찾아뵙도록 할게요 너무 감사드립니다!!

  • Hoos님의 프로필 이미지
    Hoos

    수강평 9

    평균 평점 5.0

    5

    92% 수강 후 작성

    Redis에 대해서 어느정도 안다고는 생각했는데... 정말 조금만 아는 거라는 생각이 들었습니다. 일단 Slave Node를 직접 구현하는것부터가 신기했고, 추가로 함수 자체는 간단하게 작성을 해주십니다. 하지만 말씀해주시는 내용은 되게 유익한 내용이라고 생각을 하며, 마지막까지 들었을 떄 예상하지도 못한 방식인 캐싱 전략과 다양한 방법을 알려주시는데, 해당 과정이 저에게는 정말 큰 도움이 되었다고 생각합니다. 개인적으로는 마지막 내용이 가장 많은 도움이 된다고 생각합니다. 좋은 강의 감사합니다 :)

    • Hong
      지식공유자

      코드 자체는 간단하지만, Redis를 사용하고 적용하는 것은 굉장히 다양 합니다. 이러한 부분을 알고 사용하셔서 실제 실무에서도 좋은 개발자로 거듭나시기를 바라겠습니다. 평 남겨주셔서 감사합니다!

지식공유자의 깜짝할인 중

₩28,880

24%

₩38,500

Hong님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!