Inflearn brand logo image
Inflearn brand logo image
Programming

/

Database

How to use Redis effectively, based on my experience working at a large company [Practice]

In this course, rather than covering the theory directly, you will learn how to use Redis effectively in your code through hands-on practice.

(3.9) 11 reviews

250 students

3시간 만에 완강할 수 있는 강의 ⏰
Redis
redisinsights
cache
Spring

What you will learn!

  • How to write Redis source code using Spring

  • The most basic Set in Redis

  • Handling ranking data using Redis

  • Implementing a caching strategy using Redis

I got a request to introduce caching and proceed with unit development..! 🤔

When you need to introduce caching for these feature development requests, how do you introduce it? And what tools do you use? When these new requirements come in, you should consider the following items.


[1] 🤔 Which caching tool should I introduce??

[2] 🤔 There is something called a caching strategy.. What strategy should I use??

[3] 🤔 Do you have enough time?? I need time due to the Learning Curves.


Before introducing a system for such a new function, you should have a basic understanding of how the system works and how to utilize it. Only then can you use it properly and there will be no major difficulties in improving or maintaining the code in the future. In this lecture , assuming that you are introducing caching, you will learn about Redis , a representative caching tool , in great detail.

Redis.. Do I really need to know it?? 🤔

Yes, you absolutely must learn it!!

For those of you who have experience working on servers, a database is essential, but there is absolutely no case where redis is not used.

Introducing a cache using Redis is an essential element in platform development.

  • There are cases where Redis is not used and other caching tools are introduced depending on the situation. However, caching tools are used by default, and the most commonly used one is Redis .


Course Features 😉

1⃣ Configuring API using Spring , Spring Boot , and Java

2⃣ redis management using redisinsights

3⃣ How to operate Slave and Master Node

4⃣ How to use redis for various types

5⃣ How to use various redis services using Mutex Key and Script

What you will learn 😉

Handling the simplest collection using Redis

You can learn how to use the most frequently used Collections while using Redis and how to use functions in a general way through function abstraction.

Data implementation for actual functions using Sorted Set, etc.

You can learn how to implement actual functions by utilizing Collections that can be used to implement specific functions.

The most basic Caching Strategy and PER Strategy for Cache Hits

There is no right answer for caching strategy. Instead, there is a best option. You will learn the most basic strategy and the strategy that utilizes algorithms.

Ensuring Atomicity Using Lua Script

Sending multiple commands through Redis in one function is not suitable for ensuring Atmosphere. You will send queries that ensure Atmosphere through Script.

Practical code utilizing Distributed Lock

In real practice, we operate multiple instances. In this situation, it is not correct for the client to control the Mutex.

You will learn how to control locks between multiple instances using Redis.

Practical example 😉

How to set up and operate Master and Slave Redis Nodes directly

I/O optimization using Redis Pipeline

Atmosphere Data Processing Using Redis Script

A great lecture to watch together 😉

Things to note before taking the class

Practice environment

  • The lecture was filmed on MacOs M1.

  • java 17 2021-09-14 LTS version was used.

  • We used VsCode , which everyone is familiar with, as our IDE.

Recommended for
these people!

Who is this course right for?

  • For those of you who are wondering why and how to use Redis

  • For those who dream of becoming a backend developer

  • For those who are curious about the methods used by practitioners rather than the methods known to everyone

Hello
This is

1,379

Students

95

Reviews

55

Answers

4.3

Rating

11

Courses

자기 소개

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

 

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

 

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

  • 카카오에서 서버 개발하고 계시는 초이

  • 토스에서 개발하고 계시는 서버 개발자

  • 유니콘 스타트업에서 개발도 하고, DB도 관리하시는 능력자

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Curriculum

All

25 lectures ∙ (2hr 45min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

11 reviews

3.9

11 reviews

  • Kkyle님의 프로필 이미지
    Kkyle

    Reviews 6

    Average Rating 5.0

    5

    60% enrolled

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

    • Hong
      Instructor

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

  • gohans님의 프로필 이미지
    gohans

    Reviews 13

    Average Rating 4.9

    5

    60% enrolled

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

    • Hong
      Instructor

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

  • devHand님의 프로필 이미지
    devHand

    Reviews 6

    Average Rating 5.0

    5

    60% enrolled

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

    • Hong
      Instructor

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

  • 복숭아요거트님의 프로필 이미지
    복숭아요거트

    Reviews 4

    Average Rating 4.0

    3

    32% enrolled

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

      Reviews 11

      Average Rating 5.0

      5

      96% enrolled

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

      • Hong
        Instructor

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

    jhong's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!