Bộ nhớ đệm mã nguồn mở
Bộ nhớ đệm mã nguồn mở (Open-Source Cache) là một lớp lưu trữ dữ liệu, thường là trong bộ nhớ (in-memory), dùng để lưu trữ dữ liệu được truy cập thường xuyên từ cơ sở dữ liệu hoặc ứng dụng chính. Khía cạnh 'mã nguồn mở' có nghĩa là phần mềm này được cung cấp miễn phí theo giấy phép mã nguồn mở, cho phép các nhà phát triển kiểm tra, sửa đổi và triển khai nó mà không phải trả phí cấp phép độc quyền.
Trong các ứng dụng hiện đại, có lưu lượng truy cập cao, việc liên tục truy vấn cơ sở dữ liệu chính để lấy cùng một thông tin là chậm và tốn tài nguyên. Bộ nhớ đệm chặn các yêu cầu này, phục vụ dữ liệu đã lưu trữ trực tiếp từ lớp bộ nhớ đệm tốc độ cao. Điều này giúp giảm đáng kể tải cho cơ sở dữ liệu, giảm độ trễ và cải thiện khả năng phản hồi tổng thể của ứng dụng.
Khi người dùng yêu cầu dữ liệu, ứng dụng trước tiên kiểm tra bộ nhớ đệm. Nếu dữ liệu có sẵn (gọi là 'cache hit'), nó sẽ được trả về ngay lập tức. Nếu không có sẵn (gọi là 'cache miss'), ứng dụng sẽ lấy dữ liệu từ cơ sở dữ liệu gốc, phục vụ nó cho người dùng và đồng thời lưu một bản sao vào bộ nhớ đệm cho các yêu cầu trong tương lai. Các chính sách loại bỏ bộ nhớ đệm (như LRU - Least Recently Used - Ít được sử dụng gần đây nhất) quản lý thời điểm dữ liệu cũ hoặc không sử dụng được xóa đi để nhường chỗ cho thông tin mới.
Bộ nhớ đệm mã nguồn mở rất quan trọng trong nhiều ngăn xếp công nghệ khác nhau. Các ứng dụng phổ biến bao gồm lưu trữ dữ liệu phiên (session data) cho xác thực người dùng, lưu vào bộ nhớ đệm các trang HTML đã được kết xuất cho nội dung tĩnh, lưu trữ kết quả truy vấn cơ sở dữ liệu và quản lý bảng xếp hạng hoặc danh mục sản phẩm được truy cập thường xuyên.
Việc triển khai bộ nhớ đệm mang lại sự phức tạp. Các nhà phát triển phải quản lý việc vô hiệu hóa bộ nhớ đệm—đảm bảo rằng khi dữ liệu gốc thay đổi trong cơ sở dữ liệu, bản sao cũ trong bộ nhớ đệm sẽ được xóa hoặc cập nhật kịp thời. Bộ nhớ đệm được cấu hình kém có thể dẫn đến việc phục vụ dữ liệu không chính xác.
Các khái niệm liên quan bao gồm CDN (Mạng phân phối nội dung), vốn lưu trữ nội dung ở gần người dùng hơn về mặt địa lý, và sao chép cơ sở dữ liệu (database replication), vốn cung cấp tính dự phòng nhưng không tự nhiên tăng tốc các thao tác đọc nhiều như một lớp bộ nhớ đệm chuyên dụng.