0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Những Điều Cần Lưu Ý Khi Sử Dụng Cache Để Tối Ưu Hiệu Năng

Đăng vào 4 ngày trước

• 3 phút đọc

Một Số Lưu Ý Quan Trọng Khi Sử Dụng Cache Để Tối Ưu Hiệu Năng

Nhiều lập trình viên nhận thấy cache mang lại hiệu suất cao và nhanh chóng, từ đó có suy nghĩ: "Chỉ cần lưu dữ liệu vào cache là có thể tăng hiệu năng".

Đây là một quan điểm sai lầm.

Dưới Đây Là Một Số Lưu Ý Quan Trọng Khi Sử Dụng Cache:

🔶 1. Sử Dụng Cache Khi: Dữ liệu của một hoặc nhiều bảng kết hợp với nhau thường xuyên được truy xuất nhưng ít bị thay đổi. Điều này giúp tăng hiệu suất mà không làm tốn nhiều tài nguyên.

🔶 2. Lưu Dữ Liệu Trong RAM: Cache thường lưu trữ dữ liệu trong bộ nhớ chính (RAM) để tăng tốc độ truy xuất. Tuy nhiên, một nhược điểm lớn là dữ liệu sẽ bị mất khi máy tính tắt hoặc khởi động lại, vì vậy dữ liệu quan trọng cần được lưu trữ lâu dài trong cơ sở dữ liệu (Database).

🔶 3. Thiết Lập Quy Tắc Hết Hạn (Expiration Policy): Khi dữ liệu trong cache hết hạn, nó sẽ tự động bị xóa. Nếu không có quy tắc này, dữ liệu trong cache có thể được lưu trữ vô thời hạn, gây lãng phí tài nguyên.

🔶 4. Tránh Thiết Lập Ngày Hết Hạn Quá Ngắn: Cấu hình expiration date quá ngắn sẽ khiến hệ thống phải truy vấn database thường xuyên hơn, làm giảm hiệu quả của việc sử dụng cache.

🔶 5. Tránh Thiết Lập Ngày Hết Hạn Quá Dài: Nếu dữ liệu thay đổi thường xuyên mà không được cập nhật trong cache, có thể dẫn đến việc dữ liệu lỗi thời và không chính xác.

🔶 6. Đồng Bộ Dữ Liệu Giữa Database Và Cache: Các thao tác thay đổi dữ liệu trong cả database và cache cần được thực hiện trong cùng một giao dịch (transaction) để đảm bảo tính nhất quán.

🔶 7. Sử Dụng Nhiều Cache Server: Để tránh tình trạng cache server duy nhất bị hỏng, bạn nên thiết lập nhiều cache server ở các trung tâm dữ liệu khác nhau, đảm bảo hệ thống hoạt động ổn định hơn.

🔶 8. Thiết Lập Chính Sách loại bỏ (Eviction Policy): Khi cache quá tải, bất kỳ yêu cầu nào muốn thêm vào cache có thể khiến một số item hiện có bị xóa. Một trong những chính sách loại bỏ phổ biến nhất là Least Recently Used (LRU), trong đó item ít được sử dụng gần đây nhất sẽ bị xóa trước.

Ngoài LRU, còn một số chính sách loại bỏ khác như:

  • Least Frequently Used (LFU): Loại bỏ item ít được sử dụng nhất.
  • First In First Out (FIFO): Thêm vào trước sẽ xóa đi trước, tương tự nguyên lý của hàng đợi (Queue).

Từ đó, bạn có thể cân nhắc sử dụng chính sách loại bỏ thích hợp trong từng trường hợp cụ thể của dự án.


Lời Nhắn

Bạn có thể tham khảo thêm những bài viết trong series "Thiết Kế Hệ Thống - System Design" trên blog của mình. Hy vọng những kiến thức này sẽ hữu ích cho bạn.

Hãy theo dõi mình trên Facebook "CLB Lập trình - THPT Ngọc Tảo" hoặc kênh Youtube "Tờ Mờ Sáng Học Lập Trình" để cùng nhau học tập và chia sẻ kiến thức công nghệ và lập trình miễn phí nhé!

Facebook CLB Lập trình - THPT Ngọc Tảo: Link

Youtube Tờ Mờ Sáng Học Lập Trình: Link

Hẹn gặp lại 👋


Bạn Có Thể Đọc Thêm

  • Clean Architecture: A Craftsman’s Guide to Software Structure and Design - Robert C. Martin
  • Designing Data-Intensive Applications - Martin Kleppmann
  • System Analysis and Design - Alan Dennis, Barbara Haley Wixom, Roberta M. Roth
  • System Design Interview - Alex Xu
  • Modern Systems Analysis and Design - Joseph Valacich, Joey George
  • Head First Design Patterns - Eric Freeman, Elisabeth Robson

source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào