강의

멘토링

로드맵

개발 · 프로그래밍

/

데이터베이스

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

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

(3.9) 수강평 11개

수강생 265명

  • 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,872

수강생

196

수강평

77

답변

4.5

강의 평점

14

강의

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

커리큘럼

전체

25개 ∙ (2시간 45분)

해당 강의에서 제공:

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

수강평

전체

11개

3.9

11개의 수강평

  • yuhojin8037329님의 프로필 이미지
    yuhojin8037329

    수강평 6

    평균 평점 5.0

    5

    60% 수강 후 작성

    This is a good lecture that even beginners can listen to, and it may be repetitive, but I think it's a good lecture that builds the lecture together by actually writing each one. I haven't seen a lecture that actually operates Redis and handles Ping for each node, and it was a concept I had never seen before, so it was very useful. This lecture uses Spring, but I think it can be evaluated as a very good lecture even if you just learn the conceptual part. - So I actually followed along in the language I use and implemented it myself. Thank you for sharing a good lecture!

    • jhong
      지식공유자

      Thank you for leaving a good review. Redis is a tool that is widely used in practice. So if you know it in detail and master various usage methods, it will be very helpful. In fact, if you master all the content I teach you, I think you will not have any difficult or unknown parts when working with Redis in the future. In fact, the lecture was filmed based on the method I use. I hope you will have good development and fun development in the future. Thank you :)

  • jukas5985 [DEL] 250815201525님의 프로필 이미지
    jukas5985 [DEL] 250815201525

    수강평 14

    평균 평점 4.9

    5

    60% 수강 후 작성

    I think this is the first lecture that delves into Redis in such detail in code. It was impressive that he actually implemented the caching strategy and its advantages and disadvantages, rather than just talking about it, using Spring and Java code that I was somewhat familiar with. Personally, I think it was very helpful. It was a lecture that I felt tried to explain in a more familiar and easy-to-understand way, rather than wrapping it up in difficult terms. Thank you for the great lecture, instructor.

    • jhong
      지식공유자

      Hello, I've covered the theoretical part, but I wanted to tell you how to write actual code. Thank you for leaving a good comment.

  • de님의 프로필 이미지
    de

    수강평 9

    평균 평점 5.0

    5

    60% 수강 후 작성

    The code is very simple and I think it's a good lecture for beginners. More importantly, I think it's the various uses that the instructor explains. I think there will be some people who won't be satisfied if they just look at the code without listening.

    • jhong
      지식공유자

      There is nothing difficult about the code that handles Redis. It is because it is used very limitedly and because repetitive logic is applied in fact. The problem is how to use Redis. I think it will be very helpful in actual practice if you know the nature of single-threading and can implement various forms. Thank you for leaving a good review.

  • khd16927573님의 프로필 이미지
    khd16927573

    수강평 11

    평균 평점 5.0

    5

    96% 수강 후 작성

    I enjoyed the lecture, instructor! I listened to the theory part maybe two weeks ago, but I kept putting it off and finally finished the practical part just now... Honestly, for the last Lua script part, I stopped typing along and just watched the lecture... 😊😊 (Oh, so this exists... but I probably won't use it right away...? 😊😊..) Overall, I think the lecture is good for developers with no experience when integrating Redis with Spring Boot! True to the instructor's philosophy of providing a broad direction, just like your reply to my comment on the theory lecture last time, I think I've grasped the flow regarding redisTemplate / lua script / distribution lock! But as the instructor said, ultimately you have to study on your own, so based on this broad flow, I need to encounter more references and write actual code to apply Redis well in practice! (This part might be helpful for those considering taking the lecture! Rather than learning everything from A to Z, it's a lecture that teaches the big picture!) Because at my company, I was only using Redis as a simple means of asynchronous communication... (If the server I manage is A / and the server to integrate with is B) it's in the format where A reads values from the DB -> puts them into Redis as a hash -> and B reads them at the desired interval) Since I want to know more about typical use cases like caching / distributed locks, I think I need to study more ^^ Then I'll see you in the lecture [Job Search Story of an Idling Job Seeker and Server Optimization & System Design]~

    • jhong
      지식공유자

      Hello Yoni~! Thank you so much for leaving such a sincere review!! It seems like you're going through my lectures one by one and leaving feedback, which makes me feel a bit shy but also very grateful. For this lecture, I actually wanted to cover it very simply at first. As a result, I covered parts like simple APIs, but as I went on, I got ambitious thinking it would be good to know things like this too, so it tended to get gradually more difficult towards the end 😭😭😭 Still, I hope it was of great help. To be using Redis as an event stream model at your company!! I think it's a very good form for a simple service. I believe this is a form where you can implement loose coupling between services. I am using that pattern to pass data received from an event published by A to B, and I am using it in a similar way to Yoni 😊😊 The next lecture covers my personal stories and more theoretical aspects and things worth considering, so I think it might be a lecture that is quite subjective... Still, I hope it will be of great help. I'll come back with even better lectures next time. Thank you very much!!

  • hoos983485067님의 프로필 이미지
    hoos983485067

    수강평 9

    평균 평점 5.0

    5

    92% 수강 후 작성

    I thought I knew a little about Redis... but I realized I only knew a little. First of all, it was amazing to implement the Slave Node directly, and in addition, the function itself is written simply. However, I think the content you are talking about is very useful, and when I listened to the end, I learned about caching strategies and various methods that I did not expect, I think this process was a great help to me. Personally, I think the last content was the most helpful. Thank you for the good lecture :)

    • jhong
      지식공유자

      The code itself is simple, but using and applying Redis is very diverse. I hope you will know and use these parts and become a good developer in actual practice. Thank you for leaving a comment!

지식공유자의 깜짝할인 중 (4일 남음)

₩23

22%

₩38,500

Hong님의 다른 강의

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

비슷한 강의

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