Skip to content

Giới thiệu

Distributed Cache là hệ thống cache trong memory nhẹ, được xây dựng từ đầu bằng TypeScript. Dự án minh họa các khái niệm cốt lõi được sử dụng trong các cache production như Redis, MemcachedAmazon DynamoDB.

Nó là gì?

Client → Consistent Hashing → Cache Node (RAM)
                              ├── Node 0: keys A-F
                              ├── Node 1: keys G-M
                              └── Node 2: keys N-Z

Distributed cache lưu dữ liệu được truy cập thường xuyên trong bộ nhớ (RAM) thay vì đọc từ database mỗi lần. Điều này giúp đọc nhanh hơn 100-5000 lần.

Tính năng

Tính năngMô tả
Consistent HashingPhân phối dữ liệu đều với minimal redistribution
Eviction (LRU/LFU/FIFO)Tự động xóa entries cũ khi cache đầy
TTL (Time To Live)Tự hết hạn entries sau thời gian thiết lập
ReplicationSao chép dữ liệu sang backup nodes để chống lỗi
Cache InvalidationXóa cache theo wildcard khi dữ liệu gốc thay đổi
Cluster ManagementLeader election + failover tự động
TCP ProtocolGiao tiếp mạng latency thấp
PersistenceLưu trữ file tùy chọn

Hiệu suất

Throughput:  120,000+ ops/sec (in-memory)
Latency:     <0.01ms avg, <0.03ms p99
Distribution: 36/35/29% trên 3 nodes (đều)

Khi nào sử dụng?

Học distributed systems:

  • Hiểu Redis/Memcached hoạt động bên trong thế nào
  • Học consistent hashing, replication và eviction

Xây dựng e-commerce apps:

  • Cache danh sách sản phẩm, user sessions, giỏ hàng
  • Tích hợp với Medusa.js (benchmark thực: 120K ops/sec)

Released under the MIT License.