Welcome to MikeDaDev's Blog – notes on Java, backend & system design.

Explore
MikeDaDev's Blog

#redis

Things I've written about #redis
  • case study Shopify: Redis to MySQL

    Black Friday 2025 đạt đỉnh 5.1 triệu USD/phút, và đó cũng là mùa đầu tiên Shopify giữ chỗ tồn kho bằng MySQL thay cho Redis. Vì sao bỏ Redis, vì sao câu UPDATE trừ số lượng quen thuộc không đủ, và thiết kế một dòng cho mỗi đơn vị hàng với SKIP LOCKED chạy ra sao.

  • Rate Limiting với Bucket4j trong Spring Boot

    Vì sao chỉ rate limit ở Nginx là chưa đủ? Mổ xẻ thuật toán Token Bucket, cách Bucket4j xử lý concurrency không cần lock, và cách dựng rate limiting phân tán với Redis trong Spring Boot để chạy production.

  • CDC với Debezium & cache invalidation

    Change Data Capture (CDC) với Debezium nhìn từ bên trong: PostgreSQL logical decoding (pgoutput) chạy ra sao, vì sao dual-write dính partial failure và race condition, cách dùng Outbox Event Router (SMT), chống cache stampede và canh replication slot trên production.

  • redis pattern

    Redis đâu chỉ để làm cache. Bài này gom lại các chiến lược caching, cách cấu hình cho đỡ tốn bộ nhớ và mấy pattern phân tán hay dùng với Redis trong hệ thống Backend.

  • redis

    Redis làm được nhiều hơn một bộ nhớ đệm. Bài này nói về kiến trúc bên trong, cách tối ưu bộ nhớ và các pattern phân tán dùng Redis trong hệ thống Backend.