Redis
Dưới đây là lộ trình học Redis chuyên sâu theo hướng của Senior Developer, giúp bạn hiểu sâu về Redis và áp dụng hiệu quả trong hệ thống phân tán, microservices.
1. Cơ bản về Redis (2 - 3 ngày)
✅ Hiểu Redis là gì, tại sao Redis nhanh? ✅ Cài đặt Redis trên môi trường Local & Docker ✅ Cấu trúc dữ liệu chính của Redis:
String
List
Set
Sorted Set (ZSet)
Hash ✅ Các lệnh Redis cơ bản (
SET
,GET
,INCR
,EXPIRE
,DEL
,HSET
,HGET
...) ✅ TTL và cơ chế tự động hết hạn
Thực hành
Viết một ứng dụng Java Spring Boot kết nối Redis và thao tác với các kiểu dữ liệu trên.
2. Redis Nâng Cao - Cache Optimization (4 - 5 ngày)
✅ Cache Strategies:
Cache Aside
Read Through
Write Through
Write Behind
Cache Invalidation ✅ Cache Eviction Policies (Chiến lược xoá dữ liệu trong Redis):
LRU (Least Recently Used)
LFU (Least Frequently Used)
TTL-based eviction ✅ Giải quyết các vấn đề phổ biến:
Cache Penetration (Xuyên thủng cache) và cách khắc phục
Cache Breakdown (Sập cache do key hết hạn cùng lúc)
Cache Avalanche (Lốc xoáy cache khi nhiều key hết hạn cùng lúc)
Thực hành
Cấu hình Redis Cache trong Spring Boot (
@Cacheable
,@CachePut
,@CacheEvict
).Giải quyết vấn đề cache penetration bằng cách sử dụng bloom filter.
Sử dụng Lua script để implement một chiến lược cache nâng cao.
3. Redis Persistence & High Availability (5 - 6 ngày)
✅ Cơ chế lưu trữ dữ liệu trong Redis
RDB (Redis Database Snapshot)
AOF (Append-Only File)
Hybrid Persistence ✅ Replication & High Availability
Master-Slave Replication
Sentinel (Tự động failover) ✅ Redis Cluster:
Hash Slot
Multi-node setup
Resharding và High Availability
Thực hành
Cấu hình Redis Sentinel để đảm bảo hệ thống tự động chuyển đổi master khi lỗi.
Thiết lập Redis Cluster với nhiều node trong Docker.
4. Redis for Distributed Systems (7 - 10 ngày)
✅ Redis Message Queue (Pub/Sub, Stream, List as Queue) ✅ Distributed Lock with Redis (SETNX, Redlock Algorithm) ✅ Rate Limiting với Redis ✅ Session Management với Redis ✅ GeoSpatial Data trong Redis (Lưu vị trí, tìm kiếm theo khoảng cách) ✅ HyperLogLog để đếm số lượng lớn
Thực hành
Xây dựng Rate Limiting API Gateway bằng Redis.
Xây dựng Distributed Locking System với Redlock để tránh race condition.
Triển khai hệ thống thông báo real-time bằng Redis Pub/Sub.
Ứng dụng Redis GeoSpatial để tìm kiếm cửa hàng gần nhất.
5. Redis Performance Optimization (4 - 5 ngày)
✅ Monitor & Debug Redis
Sử dụng
INFO
,MONITOR
,SLOWLOG
✅ Performance tuningCấu hình Redis với maxmemory, maxclients
Pipeline & Batching để tối ưu hiệu suất
Zero-copy I/O và lazy free ✅ Redis vs Other Databases (MongoDB, PostgreSQL, Cassandra)
Thực hành
Benchmark hiệu suất Redis với Apache JMeter.
Viết một API tối ưu tốc độ truy vấn dữ liệu với Redis Pipeline.
6. Tích hợp Redis vào hệ thống Microservices (7 - 10 ngày)
✅ Redis trong hệ thống Microservices ✅ Event-Driven Architecture với Redis ✅ Sử dụng Redis như một Event Store ✅ Triển khai Redis với Kubernetes
Thực hành
Tích hợp Redis với Spring Boot + Kafka trong hệ thống event-driven.
Deploy Redis trong Kubernetes với Helm.
Xây dựng Audit Logging System bằng Redis Streams.
7. Redis Security & Best Practices (3 - 4 ngày)
✅ Bảo mật Redis
Authentication & Authorization (
ACL
, password)TLS Encryption
IP Whitelist ✅ Redis Best Practices
Khi nào KHÔNG nên dùng Redis?
Tối ưu bộ nhớ và tránh memory leaks
Xây dựng graceful degradation với Redis
Thực hành
Cấu hình Redis với TLS encryption.
Tạo một hệ thống multi-tenant với Redis.
Last updated