Koa.js - Bộ nhớ đệm
Bộ nhớ đệm là thuật ngữ để lưu trữ các phản hồi có thể sử dụng lại để thực hiện các yêu cầu tiếp theo nhanh hơn. Mọi trình duyệt đều có triển khai bộ đệm HTTP. Tất cả những gì chúng ta phải làm là đảm bảo rằng mỗi phản hồi của máy chủ cung cấp các chỉ thị tiêu đề HTTP chính xác để hướng dẫn trình duyệt về thời gian và thời gian phản hồi có thể được trình duyệt lưu vào bộ nhớ cache.
Sau đây là một số lợi ích của việc đưa vào bộ nhớ đệm trong các ứng dụng web của bạn -
Chi phí mạng của bạn giảm xuống. Nếu nội dung của bạn được lưu vào bộ nhớ đệm, bạn sẽ cần gửi ít nội dung hơn cho mọi yêu cầu tiếp theo.
Tốc độ và hiệu suất của trang web của bạn tăng lên.
Nội dung của bạn có thể được cung cấp ngay cả khi khách hàng của bạn ngoại tuyến.
Chúng tôi sẽ sử dụng phần mềm trung gian koa-static-cache để triển khai bộ nhớ đệm trong ứng dụng của mình. Cài đặt các phần mềm trung gian này bằng cách sử dụng -
$ npm install --save koa-static-cache
Truy cập tệp app.js của bạn và thêm mã sau vào tệp đó.
var koa = require('koa');
var app = koa();
var path = require('path');
var staticCache = require('koa-static-cache');
app.use(staticCache(path.join(__dirname, 'public'), {
maxAge: 365 * 24 * 60 * 60 //Add these files to caches for a year
}))
app.listen(3000);
Các koa-static-cachephần mềm trung gian được sử dụng để lưu vào bộ đệm các phản hồi của máy chủ ở phía máy khách. Cáccache-controltiêu đề được đặt theo các tùy chọn chúng tôi cung cấp trong khi khởi tạo đối tượng bộ đệm. Chúng tôi đã đặt thời gian hết hạn của phản hồi được lưu trong bộ nhớ cache này là 1 năm. Sau đây là những so sánh về yêu cầu mà chúng tôi đã gửi trước và sau khi tệp được lưu vào bộ nhớ đệm.
Trước khi tệp này được lưu vào bộ nhớ cache, mã trạng thái trả về là 200, điều này là OK. Các tiêu đề phản hồi có nhiều thông tin liên quan đến nội dung được lưu vào bộ nhớ đệm và cũng đã cung cấpETag cho nội dung.
Lần tiếp theo yêu cầu được gửi, nó sẽ được gửi cùng với thẻ ETt. Vì nội dung của chúng tôi không thay đổi trên máy chủ, ETag tương ứng của nó cũng được giữ nguyên và khách hàng được thông báo rằng bản sao mà nó có cục bộ được cập nhật với những gì máy chủ sẽ cung cấp và nên sử dụng bản sao cục bộ thay vì yêu cầu lần nữa.
Note- Để làm mất hiệu lực của bất kỳ tệp đã lưu trong bộ nhớ cache nào, bạn chỉ cần thay đổi tên tệp của nó và cập nhật tham chiếu của nó. Điều này sẽ đảm bảo rằng bạn có một tệp mới để gửi cho máy khách và máy khách không thể tải lại nó từ bộ nhớ cache.