Cách bật và tắt Nginx Cache

Tác giả NetworkEngineer, T.M.Hai 30, 2021, 02:54:12 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách bật và tắt Nginx Cache


Khi bạn đã bật bộ nhớ Cache trong Nginx Plus, nó sẽ lưu trữ các phản hồi trong một đĩa bộ nhớ Cache và những phản hồi này được sử dụng nhiều hơn để trả lời các ứng dụng khách mà không cần giữ một yêu cầu proxy cho cùng một nội dung. Bộ nhớ Cache của Nginx Plus có nhiều khả năng hơn, trong đó các tính năng hữu ích nhất, chẳng hạn như xóa bộ nhớ Cache, bộ nhớ Cache trì hoãn và bộ nhớ Cache nội dung động được bao gồm.

Trong bài viết này, chúng ta sẽ tìm hiểu thêm về bộ nhớ Cache, chẳng hạn như cách bật và tắt bộ nhớ Cache trong máy chủ Nginx trên hệ thống Linux.

1. Làm thế nào để kích hoạt bộ nhớ Cache?

Ở cấp cao nhất của http {}, bao gồm proxy_cache_path để bật bộ nhớ Cache. Tham số đầu tiên, là đường dẫn hệ thống tập tin cục bộ cho nội dung được lưu trong bộ nhớ Cache và tham số key_zone xác định kích thước và tên của vùng bộ nhớ dùng chung là bắt buộc. Tham số cuối cùng key_zone lưu trữ siêu dữ liệu của các mục được lưu trong bộ nhớ Cache.

Mã nguồn [Chọn]
http {

    ...

    proxy_cache_path /data/nginx/cache keys_zone=one:10m;

}

Bạn phải bao gồm proxy_cache để xác định các mục như (loại giao thức và vị trí hoặc địa chỉ Virtual Host) trong http. Thông qua đó bạn muốn lưu các phản hồi của máy chủ vào bộ nhớ Cache, hãy đề cập đến tên vùng được xác định bởi một tham số là key_zone cho proxy_cache_path là trong trường hợp này.

Mã nguồn [Chọn]
http {

    ...

    proxy_cache_path /data/nginx/cache keys_zone=one:10m;

    server {

        proxy_cache mycache;

        location / {

            proxy_pass http://localhost:8000;

        }

    }

}

Cần lưu ý rằng tổng lượng phản hồi được lưu trong bộ nhớ Cache không bị ảnh hưởng bởi kích thước, được xác định trong tham số key_zone. Tất cả các câu trả lời được lưu trong bộ nhớ Cache riêng biệt được lưu trong các tập tin cụ thể cùng với bản sao siêu dữ liệu trên hệ thống tập tin của bạn. Tuy nhiên, nếu bạn muốn giới hạn tổng lượng dữ liệu phản hồi được lưu trong bộ nhớ Cache, thì bạn có thể đưa tham số max_size vào trong proxy_cache_path.

2. Làm cách nào để giới hạn hoặc tắt bộ nhớ Cache?

Tất cả các câu trả lời vẫn được lưu trữ trong bộ nhớ Cache vô thời hạn. Những phản hồi này chỉ bị xóa khi nó vượt quá kích thước tối đa đã xác định và khoảng thời gian kể từ khi chúng được yêu cầu lần cuối. Tuy nhiên, bạn có thể đặt tùy theo mức độ thuận tiện của mình để bao nhiêu thời gian các phản hồi được lưu trong bộ nhớ cache này được coi là hợp lệ hoặc ngay cả khi chúng được sử dụng bởi các lệnh khác nhau trong máy chủ {}, http {} hoặc trong ngữ cảnh của vị trí {}. Tuy nhiên, để hạn chế các phản hồi được lưu trong bộ nhớ Cache được coi là hợp lệ, bạn cần bao gồm một chỉ thị có tên proxy_cache_valid.

Hãy xác định khái niệm giới hạn bộ nhớ Cache bằng một ví dụ. Trong ví dụ cụ thể dưới đây, 200 hoặc 302 phản hồi mã được coi là hợp lệ trong 10 phút và 404 phản hồi có giá trị trong 1 phút.

Mã nguồn [Chọn]
proxy_cache_valid 200 302 10m;

proxy_cache_valid 404      1m;

Vì vậy, bạn cũng có thể xác định tính hợp lệ của các phản hồi được lưu trong bộ nhớ Cache theo thời gian với tất cả các mã trạng thái để xác định một tham số 'any' mà bạn cũng có thể thấy trong dòng mã dưới đây:

Mã nguồn [Chọn]
proxy_cache_valid any 5m;
Có một số điều kiện mà theo đó Nginx không gửi phản hồi đã lưu trong bộ nhớ Cache cho các máy khách, vì vậy hãy bao gồm một chỉ thị proxy_cache_bypass. Mỗi tham số trong ví dụ dưới đây xác định các điều kiện và có một số biến.

Nếu ít nhất một tham số không bằng '0' hoặc không trống thì Nginx sẽ không tìm thấy phản hồi trong bộ nhớ Cache và yêu cầu chuyển tiếp ngay lập tức đến máy chủ phụ trợ.

Mã nguồn [Chọn]
proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
Trong điều kiện bạn muốn, Nginx không lưu phản hồi vào bộ nhớ Cache. Sau đó, bạn sẽ bao gồm chỉ thị proxy_no_cache và xác định tất cả các tham số sau:

Mã nguồn [Chọn]
proxy_no_cache $http_pragma $http_authorization;
Bộ nhớ Cache cung cấp nhiều tính năng hơn trong máy chủ Nginx. Chúng ta cũng đã khám phá trong bài viết này cách chúng ta có thể bật hoặc tắt bộ nhớ Cache, bao gồm tất cả các lệnh và tham số. Để khám phá thêm, bạn có thể xem thêm trợ giúp từ các tài nguyên trực tuyến.

Mình hy vọng bài viết này sẽ hữu ích và cung cấp thông tin cho bạn.