Năm 2026! Hướng dẫn thực hành Redis dành cho nhà phát triển Backend: Từ cơ bản đến các mô hình thực tế
Nhiều nhà phát triển backend đang sử dụng Redis, nhưng trên thực tế, họ thường chỉ sử dụng nó như một máy chủ bộ nhớ đệm (cache server) đơn giản. Có nhiều trường hợp dù biết các kiểu dữ liệu của Redis nhưng lại không biết cách áp dụng vào thực tế, hoặc thiếu kinh nghiệm trực tiếp triển khai các mô hình thực chiến như Khóa phân tán (Distributed Lock), Giới hạn tốc độ (Rate Limiting), hoặc không hiểu Redis dưới góc độ kiến trúc backend. Bản thân tôi cũng từng trăn trở về cách tận dụng Redis trong môi trường lưu lượng truy cập lớn khi phát triển các dịch vụ thực tế. Bởi vì việc chỉ đơn thuần biết các câu lệnh và việc giải quyết các vấn đề của dịch vụ bằng Redis là hai câu chuyện hoàn toàn khác nhau. Khóa học này bắt đầu từ các khái niệm cơ bản và cấu trúc dữ liệu của Redis, sau đó học cách triển khai từng bước các mô hình cốt lõi được sử dụng trong các dịch vụ backend thực tế. Đặc biệt, bạn sẽ học cách giải quyết các vấn đề thực tế sau bằng Redis: Chiến lược bộ nhớ đệm (Cache-Aside) để giảm tải cho máy chủ, Lưu trữ phiên phân tán (Session Store) để chia sẻ trạng thái đăng nhập, Khóa phân tán (Distributed Lock) để giải quyết vấn đề tranh chấp dữ liệu (concurrency), Giới hạn tốc độ (Rate Limiting) để ngăn chặn quá tải API, và Hệ thống bảng xếp hạng thời gian thực (Leaderboard) cho lượng người dùng lớn. Tất cả các bài thực hành đều được tiến hành trong môi trường máy chủ API thực tế dựa trên Python FastAPI. Thay vì chỉ học các câu lệnh CLI đơn thuần, bạn sẽ hiểu được Redis được sử dụng như thế nào trong hệ thống backend thông qua việc trực tiếp triển khai. Thông qua khóa học này, bạn sẽ có thể tận dụng Redis không chỉ như một bộ nhớ đệm đơn thuần mà còn là một công cụ cốt lõi để thiết kế kiến trúc backend.
210 học viên
Độ khó Nhập môn
Thời gian Không giới hạn
Vui lòng tham khảo nếu bạn đã thiết lập mật khẩu cho Redis (khuyến nghị nên gỡ bỏ mật khẩu)
Xin chào các bạn học viên! 😊
Cách đây không lâu, tôi đã đưa ra thông báo về 'Những lưu ý khi kiểm tra trong môi trường IP công cộng'.
Nội dung đó là hướng dẫn về việc thiết lập mật khẩu và liên kết IP khi tạo container Redis, trong trường hợp môi trường thử nghiệm là máy tính có thể truy cập từ bên ngoài (như IP công cộng).
Tuy nhiên, ngay cả trong môi trường IP công cộng, 127.0.0.1nếu bạn đã giới hạn IP bằng địa chỉ này, thì không cần thiết phải thiết lập mật khẩu cũng được.
Nếu thiết lập mật khẩu, bạn sẽ cần phải xác thực liên tục trong quá trình thực hành sau đó, điều này có thể gây bất tiện cho luồng học tập.
Nếu bạn đã thiết lập mật khẩu, nếu có thể, tôi khuyên bạn nên xóa container hiện tại và tạo lại nó như bên dưới (chỉ chỉ định IP).
docker rm -f my-redis
docker run -d --name my-redis -p 127.0.0.1:6379:6379 redis
Chúng tôi xin lỗi vì sự bất tiện trong quá trình học tập của bạn.
Dưới đây là hướng dẫn về những phần cần nhập mật khẩu trong các bài thực hành nếu bạn tiếp tục sử dụng mật khẩu.
21. Redis Stack: Lưu trữ JSON và trải nghiệm tìm kiếm tốc độ cao (FullText Search)
Khi thêm Redis vào Redis Insight, bạn cần phải nhập mật khẩu.
24. Giao dịch và Lập trình kịch bản: Lua Script và Redis Functions
Lệnh tải hàm Redis Functions có chỉ định mật khẩu
# Trường hợp Redis có thiết lập mật khẩu docker exec -i my-redis redis-cli -a <mật_khẩu> -x FUNCTION LOAD REPLACE < coupon_logic.lua
Toàn bộ Phần 5. [Pattern] Triển khai các mẫu ứng dụng thực tế trong Backend (với FastAPI)
Chỉ định tài khoản (default) và mật khẩu cho tất cả các mã tạo connection pool kết nối với Redis trong FastAPI
@asynccontextmanager async def lifespan(app: FastAPI): app.state.redis = redis.from_url("redis://localhost:6379/0", decode_responses=True) # Trường hợp Redis có thiết lập mật khẩu # app.state.redis = redis.from_url("redis://default:<mật_khẩu>@localhost:6379/0", decode_responses=True) print("✅ Kết nối Redis thành công!") yield await app.state.redis.aclose() print("❌ Đã ngắt kết nối Redis!")




