⚙️ LRU là gì?

LRU (Least Recently Used) nghĩa là ít được sử dụng nhất gần đây. Đây là một thuật toán quản lý bộ nhớ đệm (cache) rất phổ biến. Ý tưởng của nó:
👉 Khi cache đầy, ta cần loại bỏ một phần tử cũ để nhường chỗ cho phần tử mới.
👉 Phần tử bị loại bỏ chính là phần tử lâu rồi chưa được sử dụng (ít được truy cập nhất trong thời gian gần nhất).

Ví dụ dễ hiểu:

  • Bạn có 3 ngăn tủ để cất đồ.
  • Hôm nay bạn cất đồ A, B, C.
  • Ngày mai bạn cần thêm đồ D, nhưng tủ đã đầy.
  • Bạn kiểm tra: A, B, C — món nào lâu nhất chưa đụng đến thì bỏ ra (ví dụ A), và cho D vào thay thế.

⚙️ LRU trong Memcached

Memcached dùng LRU để:
✅ Khi bộ nhớ cache đạt đến giới hạn (bạn config ví dụ 128MB), Memcached cần giải phóng chỗ.
✅ Nó sẽ tự động loại bỏ các key cũ ít được truy cập nhất (LRU), ưu tiên loại bỏ các key đã hết hạn trước.
✅ Sau đó nếu vẫn thiếu chỗ, nó tiếp tục loại bỏ theo chính sách LRU.

Nhờ đó:
➡️ Memcached luôn dành chỗ cho dữ liệu mới,
➡️ nhưng vẫn giữ lại những key thường xuyên được truy cập gần đây.