inflearn logo

Làm chủ Redis thực chiến cùng Spring Boot 11

Hiểu Redis không chỉ là một bộ đệm đơn thuần mà là một máy chủ cấu trúc dữ liệu dựa trên bộ nhớ, lấy dịch vụ giao dịch đồ cũ 'Redis Mart' làm bản đồ dẫn lối để học 11 mẫu thực chiến như lưu đệm, phiên, xếp hạng, khóa phân tán, trò chuyện thời gian thực, luồng sự kiện, định vị địa lý... Thiết lập tiêu chí lựa chọn kho lưu trữ thông qua khung thiết kế 'Đường nhanh là Redis, sự thật nằm ở DB', và thấu hiểu triệt để các nguyên lý cùng cạm bẫy trong xử lý đồng thời và thời gian thực ở môi trường phân tán thông qua các khái niệm cốt lõi.

4 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Spring Boot
Spring Boot
Redis
Redis
system-design
system-design
cache
cache
Spring Boot
Spring Boot
Redis
Redis
system-design
system-design
cache
cache

Bạn sẽ nhận được điều này sau khi học.

  • 11 mẫu ứng dụng thực tiễn của Redis và tiêu chí đánh giá thiết kế theo từng cấu trúc dữ liệu

  • Nguyên lý hoạt động của Khóa phân tán, Pub/Sub và Streams cùng cách ứng phó với các cạm bẫy thực tiễn.

  • Khung lựa chọn kho lưu trữ Redis và DB cùng tiêu chí giám sát vận hành

🤔 "Redis, ngoài bộ nhớ đệm ra thì còn được dùng vào việc gì nữa?"

Khi mới làm quen với Redis, hầu hết mọi người đều bắt đầu với cache. Chỉ cần gắn một @Cacheable để tăng tốc truy vấn, nhiều người rất dễ dừng lại ngay tại đó.

Tuy nhiên, trong thực tế, Redis làm được nhiều việc hơn thế rất nhiều. Nó cho phép nhiều máy chủ chia sẻ phiên đăng nhập, đếm lượt xem và lượt thích theo thời gian thực, tính toán bảng xếp hạng sản phẩm hot ngay tức thì, ngăn chặn sự cố hai người dùng cùng mua một sản phẩm tồn kho vào cùng một thời điểm, phân phối tin nhắn chat và thông báo thời gian thực tới nhiều máy chủ, và tìm kiếm các bất động sản trong bán kính 3km quanh tôi.

Vấn đề là chúng ta luôn bị mắc kẹt trước câu hỏi "Vậy thì nên dùng gì cho tính năng này?". Cấu trúc dữ liệu nào là phù hợp, nên lưu gì vào Redis và giữ gì lại trong DB — khóa học này sẽ giúp bạn xác định chính xác tiêu chí đánh giá cho những quyết định đó.

📌 Khóa học này sẽ diễn ra như sau (Vui lòng đọc kỹ nhé)

Đây là bài giảng tập trung chủ yếu vào giải thích khái niệm. Không có phần thực hành gõ code trực tiếp.

Trong thời đại lập trình AI đã trở nên phổ biến, thay vì khả năng tự tay viết từng dòng code chi tiết, việc thấu hiểu toàn bộ hệ thống và công nghệ để đưa ra những lựa chọn đúng đắn thông qua sự thấu hiểu khái niệm đã trở nên quan trọng hơn rất nhiều. Khóa học này tập trung vào những khái niệm, nguyên lý và tiêu chí đánh giá đó.

được biên soạn kỹ lưỡng, cung cấp tài liệu khóa họcvà dựa trên tài liệu đó, tạo ra các slide trình chiếuđể tiến hành bài giảng. Code không được xem là "thứ để gõ trực tiếp" mà là "tài liệu đọc giúp hiểu nguyên lý một cách trực quan".

✨ Lý do khóa học này đặc biệt

🗺️ 1. Một nguyên tắc xuyên suốt, thấu hiểu trọn vẹn 11 điều

🃏 "Đường nhanh là Redis, chân lý nằm ở DB." Chỉ một câu này xuyên suốt mọi ví dụ từ bài 1 đến bài cuối cùng. Đây không phải là khóa học bắt bạn học thuộc lòng từng lệnh một, mà giúp bạn hình thành tư duy thiết kế, để trước những yêu cầu mới, bạn tự đặt câu hỏi "đây là đường nhanh hay chân lý, cấu trúc dữ liệu nào là phù hợp".

🎯 2. Sắp xếp các tính năng phân tán trên cùng một bản đồ 'RedisMart'

🃏 Caching, session, ranking, distributed lock, chat và geolocation không còn là những kiến thức rời rạc, mà sẽ được định vị rõ ràng về vị trí và lý do sử dụng trong cùng một dịch vụ giao dịch đồ cũ dựa trên vị trí 'RedisMart'. Những mảnh ghép kiến thức vốn chỉ được biết đến một cách rời rạc nay sẽ được kết nối thành một bức tranh tổng thể.

🛡️ 3. Thậm chí còn cho bạn biết "Khi nào không nên dùng"

🃏 Khóa phân tán chỉ là giải pháp cuối cùng, hãy ưu tiên xem xét các thao tác và ràng buộc nguyên tử; đừng tự tạo khóa mà hãy sử dụng Redisson đã được kiểm chứng; nếu đặt session và cache trên cùng một instance sẽ dẫn đến sự cố eviction — việc chỉ ra những nhận định thực chiến và cạm bẫy này ở cấp độ khái niệm sẽ giúp ngăn chặn việc áp dụng một cách thiếu cẩn trọng.

🤖 4. Phát triển năng lực phù hợp với kỷ nguyên lập trình AI

Ngay cả trong thời đại AI viết mã Redis thay chúng ta, "tại sao đoạn mã này lại được viết như vậy và liệu đó có phải là lựa chọn đúng đắn hay không"việc phán đoán vẫn là trách nhiệm của con người. Khóa học này sẽ rèn luyện cho bạn khả năng phán đoán đó.

🎓 Những gì bạn sẽ làm được sau khi hoàn thành khóa học này

  • Bạn có thể hiểu Redis không chỉ là một bộ nhớ đệm đơn thuần mà là máy chủ cấu trúc dữ liệu trong bộ nhớ.

  • Bạn có thể phân biệt được các cấu trúc dữ liệu phù hợp cho 11 trường hợp như bộ nhớ đệm, phiên, bộ đếm, xếp hạng, khóa phân tán, Pub/Sub, hàng đợi tác vụ, Streams, GEO, v.v.

  • Bạn có thể tự mình quyết định nên lưu gì trên Redis và gì trong DB.

  • Có thể giải thích nguyên lý, cạm bẫy và các phương án thay thế của khóa phân tán để ngăn chặn các vấn đề đồng thời.

  • Bạn có thể nắm được bức tranh toàn cảnh về cách trò chuyện, thông báo và luồng sự kiện thời gian thực hoạt động trên nhiều máy chủ.

  • Bạn sẽ trang bị được tiêu chí đánh giá từ góc độ vận hành như lưu trữ bền vững, cơ chế loại bỏ, giám sát, tỷ lệ hit cache, v.v.

👥 Dành cho những ai sau đây

  • ⭐ Lập trình viên backend có nền tảng Java và Spring Boot vững chắc nhưng chỉ xem Redis đơn thuần là một bộ nhớ đệm

  • ⭐ Lập trình viên cần cái nhìn tổng quan và tiêu chí đánh giá về thời điểm và cách thức sử dụng Redis

  • Lập trình viên từ junior đến middle cần giải thích các mẫu sử dụng Redis trong các cuộc họp thiết kế hay phỏng vấn kỹ thuật

  • Lập trình viên tuy viết code bằng AI nhưng lại cảm thấy thiếu các tiêu chí đánh giá kiến trúc

Kiến thức tiên quyết: Chỉ cần kiến thức cơ bản về Java và Spring Boot, cùng các khái niệm nền tảng về MySQL và JPA là đủ. Không yêu cầu kỹ năng thực hành lập trình.

🚀 Nếu bạn mới chỉ sử dụng 1/10 Redis

Nếu bạn chỉ biết Redis như một "bộ nhớ đệm nhanh", thì bạn mới chỉ sử dụng 1/10 khả năng của Redis mà thôi.

Sau khi hoàn thành khóa học này, các bạn sẽ không chỉ là người học thuộc lòng câu lệnh, mà sẽ trở thành những lập trình viên có thể tự đặt câu hỏi "đâu là lối đi nhanh, đâu là lối đi đúng" trước những yêu cầu mới và chọn ra cấu trúc dữ liệu phù hợp.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend có kinh nghiệm về Java và Spring Boot, nhưng mới chỉ sử dụng Redis làm bộ nhớ đệm.

  • Lập trình viên junior cần bức tranh toàn cảnh về các mẫu sử dụng Redis và tiêu chí lựa chọn kiến trúc.

  • Lập trình viên muốn nâng cao năng lực lựa chọn công nghệ và đánh giá thiết kế trong kỷ nguyên lập trình AI.

Cần biết trước khi bắt đầu?

  • Hiểu cú pháp cơ bản và các khái niệm hướng đối tượng trong ngôn ngữ lập trình Java.

  • Cấu trúc cơ bản của framework Spring Boot và kinh nghiệm phát triển RESTful API

  • Kiến thức cơ bản về JPA hoặc tích hợp cơ sở dữ liệu và hiểu biết về SQL.

Xin chào
Đây là oncoding

631

Học viên

13

Đánh giá

20

Trả lời

4.3

Xếp hạng

6

Các khóa học

Chương trình giảng dạy

Tất cả

20 bài giảng ∙ (5giờ 40phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của oncoding

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

15.400 ₫

30%

477.401 ₫