Django

Caching trong Django

Cache backend, cache theo view, cache fragment template, API cache cấp thấp, vô hiệu hóa cache

20 câu hỏi phỏng vấn·
Mid-Level
1

Backend cache mặc định trong Django là gì nếu không có cấu hình nào được chỉ định?

Câu trả lời

Django mặc định sử dụng backend 'LocMemCache' (cache trong bộ nhớ cục bộ) lưu trữ dữ liệu trong bộ nhớ của tiến trình Python. Backend này đơn giản và nhanh nhưng không tồn tại qua các lần khởi động lại server và không chia sẻ dữ liệu giữa các tiến trình khác nhau. Nó phù hợp cho phát triển nhưng không được khuyến nghị cho môi trường production đa tiến trình.

2

Decorator nào nên được sử dụng để cache toàn bộ phản hồi của một view trong 15 phút?

Câu trả lời

Decorator cache_page từ django.views.decorators.cache cache toàn bộ phản hồi HTTP của một view. Tham số là thời gian tính bằng giây (15 phút = 900 giây). Khóa cache được tạo tự động từ URL và các tham số truy vấn. Decorator này cũng xử lý các header HTTP phù hợp cho việc cache.

3

Cú pháp đúng của template tag để cache một fragment template trong 5 phút là gì?

Câu trả lời

Tag {% cache %} cache một fragment template. Cú pháp là {% cache timeout cache_name %}...{% endcache %}. Tham số đầu tiên là thời gian tính bằng giây (300 cho 5 phút), tham số thứ hai là tên duy nhất để định danh fragment này. Có thể thêm các tham số bổ sung để thay đổi cache (ví dụ: user.id).

4

Làm thế nào để lấy một giá trị từ cache với giá trị mặc định nếu khóa không tồn tại?

5

Backend cache nào được khuyến nghị cho một ứng dụng Django ở môi trường production với nhiều instance?

+17 câu hỏi phỏng vấn

Nắm vững Django cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí