Yêu cầu từ 4. thậm chí không đạt được bộ nhớ cache redis, vì nó trả về một bộ nhớ cache cục bộ (lưu ý "Từ bộ nhớ cache trên đĩa" trong mã phản hồi).
Bạn nên phân biệt giữa bộ nhớ đệm công khai (tức là bộ đệm ẩn máy chủ được sử dụng bởi tất cả người dùng) và bộ nhớ đệm riêng (bộ đệm ẩn trình duyệt của người dùng).
Tôi nghĩ, khi sử dụng cache_page
decorator, ngoài bộ nhớ đệm yêu cầu, nó còn đặt các tiêu đề phản hồi "Cache-control" để cho phép một bộ nhớ cache riêng của yêu cầu. Trình duyệt sử dụng các tiêu đề đó để lưu cục bộ yêu cầu và trả về phản hồi được lưu cục bộ trong bộ nhớ cache cho đến khi max-age
hết hạn.
Để ngăn chặn hành vi này, ở cấp máy chủ, bạn có thể sử dụng @never_cache
decorator, đặt Cache-control
tiêu đề phản hồi để ngăn bộ nhớ đệm cục bộ hoặc sử dụng @cache_control(public=True)
để chỉ cho phép bộ nhớ cache công khai của yêu cầu (điều này cũng điều chỉnh các tiêu đề phản hồi kiểm soát bộ nhớ cache cho phù hợp).
Thông tin thêm về Kiểm soát bộ nhớ cache.