2.7 KiB
2.7 KiB
Cache Dokumani
Bu dokuman, home, portfolio ve settings app'lerinde yapilan cache
ayarlarini ve otomatik cache temizleme (invalidation) akislarini aciklar.
Genel
- Cache suresi: 5 dakika (
60 * 5saniye). - Cache Django cache backend uzerinden tutulur (
django.core.cache.cache). - Veri ekleme, silme ve guncelleme (post_save/post_delete) veya M2M degisimi oldugunda ilgili cache temizlenir.
Home App
Cache Key'leri
home:active_homehome:active_aboutmehome:service_listhome:service_titlehome:resumehome:education_listhome:experience_listhome:skill_listhome:knowledge_listhome:active_menu
Cache Kullanan Endpoint'ler
HomeDetailView->home:active_homeAboutMeDetailView->home:active_aboutmeMyServiceList->home:service_listMyServiceTitleDetailView->home:service_titleMyResumeDetailView->home:resumeEducationListView->home:education_listExperienceListView->home:experience_listSkillListView->home:skill_listKnowledgeListView->home:knowledge_listMainMenuDetailView->home:active_menu
Cache Temizleme
home/signals.py uzerinden asagidaki modellerde degisim oldugunda
tum home:* cache'leri temizlenir:
HomeAboutMeMyServiceMyServiceTitleMyResumeEducationExperienceSkillKnowledgeMainMenu
Ek olarak Home.tags M2M degisimi (post_add, post_remove, post_clear)
oldugunda cache temizlenir.
Portfolio App
Cache Key'leri
portfolio:category_listportfolio:category_detail:<slug>portfolio:portfolio_listportfolio:portfolio_detail:<pk>
Cache Kullanan Endpoint'ler
CategoryList->portfolio:category_listCategoryDetail->portfolio:category_detail:<slug>PortfolioList->portfolio:portfolio_listPortfolioDetail->portfolio:portfolio_detail:<pk>
Cache Temizleme
portfolio/signals.py uzerinden asagidaki durumlarda cache temizlenir:
Categorykaydi kayit/silme/guncelleme -> kategori list ve ilgili detayPortfoliokaydi kayit/silme/guncelleme -> portfolio list ve ilgili detayPortfolio.categoriesM2M degisimi -> ilgili portfolio detay ve list
Settings App
Cache Key'leri
settings:detailsettings:site_status
Cache Kullanan Endpoint'ler
SettingDetailView->settings:detailSettingOpenCloseDetailView->settings:site_status
Cache Temizleme
settings/signals.py uzerinden asagidaki modellerde degisim oldugunda
tum cache temizlenir:
SettingSiteSettings
Notlar
- Signal'larin calismasi icin
apps.pyicindekiready()metodlari ile signal moduleri yuklenir:home/apps.pyportfolio/apps.pysettings/apps.py