Django

Django Önbellekleme

Cache backend'leri, view bazlı önbellek, template fragment önbelleği, düşük seviyeli cache API'si, önbellek geçersizleştirme

20 mülakat soruları·
Mid-Level
1

Hiçbir yapılandırma belirtilmezse Django'daki varsayılan cache backend'i nedir?

Cevap

Django varsayılan olarak verileri Python işlem belleğinde saklayan 'LocMemCache' backend'ini (yerel bellek önbelleği) kullanır. Bu backend basit ve hızlıdır ancak sunucu yeniden başlatmaları arasında kalıcı değildir ve farklı işlemler arasında veri paylaşmaz. Geliştirme için uygundur ancak çok işlemli üretim ortamları için önerilmez.

2

Bir view'in tam yanıtını 15 dakika boyunca önbelleğe almak için hangi dekoratör kullanılmalıdır?

Cevap

django.views.decorators.cache içindeki cache_page dekoratörü, bir view'in tam HTTP yanıtını önbelleğe alır. Parametre saniye cinsinden süredir (15 dakika = 900 saniye). Önbellek anahtarı, URL ve sorgu parametrelerinden otomatik olarak oluşturulur. Bu dekoratör ayrıca önbellekleme için uygun HTTP başlıklarını da yönetir.

3

Bir template fragment'ini 5 dakika boyunca önbelleğe almak için template tag'inin doğru sözdizimi nedir?

Cevap

{% cache %} tag'i bir template fragment'ini önbelleğe alır. Sözdizimi {% cache timeout cache_name %}...{% endcache %} şeklindedir. İlk argüman saniye cinsinden süre (5 dakika için 300), ikincisi bu fragment'i tanımlayan benzersiz bir addır. Önbelleği değiştirmek için ek argümanlar eklenebilir (örneğin user.id).

4

Anahtar yoksa varsayılan bir değerle önbellekten nasıl değer alınır?

5

Birden fazla örneğe sahip üretimdeki bir Django uygulaması için hangi cache backend'i önerilir?

+17 mülakat soruları

Bir sonraki mülakatın için Django'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla