Model Sınıflarında, bu sabiti CACHE_ID ve CACHE_TAG gördüm , önbellekte veri depolamak için kullanıldığını biliyorum.
Ama aslında nasıl çalışıyor . Özel değişkenlerimizi önbelleğe alırken ve temizlerken nelere dikkat edilmelidir? .
Model Sınıflarında, bu sabiti CACHE_ID ve CACHE_TAG gördüm , önbellekte veri depolamak için kullanıldığını biliyorum.
Ama aslında nasıl çalışıyor . Özel değişkenlerimizi önbelleğe alırken ve temizlerken nelere dikkat edilmelidir? .
Yanıtlar:
Önbellek kimliği, belirli bir önbellek kaydını tanımlamak için kullanılır.
Önbelleğe bir şey kaydederseniz, daha sonra kimliğiyle alabilirsiniz.
Önbellek etiketleri, farklı önbellek kayıtlarına etiket atamanın bir yoludur, böylece daha sonra bu etiketlere (etiketler) dayalı birden çok önbellek girişini temizleyebilirsiniz.
Örneğin, bir kategori görünümü sayfasını önbelleğe almak istediğinizi varsayalım.
Bu etiket olarak olacaktır category_{id of category here}
.
Ancak kategori sayfası ürünler içeriyor. SO belki etiketleri de eklemek istersiniz product_{id of each product here}
.
Şimdi, bir ürünü ve / veya kategoriyi değiştirdiğinizde, ilgili her varlık için önbelleği temizlemeniz gerekir.
Dolayısıyla, bir ürünü güncellediğinizde etiketli tüm önbellek girdilerini temizlersiniz product_{id of product here}
.
Bu şekilde, yukarıda bahsettiğim kategori sayfası önbelleği de temizlenecektir.