Tôi có Django đang chạy trong Apache thông qua mod_wsgi. Tôi tin rằng Django là bộ nhớ đệm trang của tôi phía máy chủ, đó là gây ra một số chức năng không hoạt động chính xác.Làm thế nào để vô hiệu hóa Django/mod_WSGI Trang Caching
Tôi có đồng hồ đếm ngược hoạt động bằng cách nhận thời gian máy chủ hiện tại, xác định thời gian đếm ngược còn lại và xuất số đó vào mẫu HTML. Một bộ đếm thời gian đếm ngược javascript sau đó tiếp quản và chạy đếm ngược cho người dùng.
Sự cố phát sinh khi người dùng làm mới trang hoặc điều hướng đến một trang khác với đồng hồ đếm ngược. Bộ hẹn giờ xuất hiện để nhảy xung quanh đến các thời điểm khác thường, thường quay trở lại cùng một thời gian lặp đi lặp lại trên mỗi lần làm mới.
Sử dụng HTTPFox, trang không được tải từ bộ nhớ cache của trình duyệt của tôi, vì vậy có vẻ như Django hoặc Apache đang lưu vào bộ nhớ cache của trang. Có cách nào để vô hiệu chức năng này không? Tôi sẽ không có đủ lưu lượng truy cập để lo lắng về việc lưu vào bộ nhớ cache đầu ra của tập lệnh. Hoặc tôi hoàn toàn sai về lý do tại sao điều này xảy ra?
[Chỉnh sửa] Từ các bài đăng bên dưới, có vẻ như bộ nhớ đệm bị tắt ở Django, có nghĩa là nó phải xảy ra ở nơi khác, có lẽ trong Apache?
[Chỉnh sửa] Tôi có mô tả kỹ lưỡng hơn về những gì đang xảy ra: Đối với 7 yêu cầu đầu tiên được thực hiện cho máy chủ, các trang được hiển thị bằng tập lệnh và trả về, mặc dù mỗi 7 trang đó dường như được lưu vào bộ nhớ cache khi nó hiển thị sau. Trên yêu cầu thứ 8, máy chủ phục vụ lên trang đầu tiên. Trong yêu cầu thứ 9, nó phục vụ trang thứ hai và cứ như vậy trong một chu kỳ. Điều này kéo dài cho đến khi tôi khởi động lại apache, khi quá trình bắt đầu lại.
[Chỉnh sửa] Tôi đã định cấu hình mod_wsgi để chỉ chạy một quy trình tại một thời điểm, điều này làm cho bộ hẹn giờ đặt lại về cùng giá trị trong mọi trường hợp. Điều thú vị là, có một thành phần khác trên trang của tôi hiển thị một hình ảnh ngẫu nhiên trên mỗi yêu cầu, sử dụng thứ tự ('?'), Và điều đó làm mới với các hình ảnh khác nhau mỗi lần, cho biết bộ nhớ đệm đang diễn ra ở Django chứ không phải trong Apache.
[Chỉnh sửa] Trong bản chỉnh sửa trước, tôi đã quay lại và xem xét tệp views.py có liên quan, tìm thấy biến bắt đầu đếm ngược đã được đặt chung trong mô-đun, bên ngoài chức năng chế độ xem. Di chuyển thiết lập đó bên trong các chức năng xem đã giải quyết được vấn đề. Vì vậy, nó bật ra không phải là một vấn đề bộ nhớ đệm sau khi tất cả. Cảm ơn tất cả mọi người đã giúp bạn về điều này.
http://www.djangobook.com/en/2.0/chapter15/ – cwallenpoole