Cache boshqaruvi
Bu bo‘lim yordamida edge qatlamda va brauzer tomonda keshlash siyosatini belgilaysiz. Asosiy maqsad - tezlikni oshirish, origin serverga tushadigan yukni kamaytirish va origin vaqtincha ishlamaganida
Asosiy tushunchalar
Edge cache: foydalanuvchiga yaqin tugunda saqlanadigan nusxa. serverga chiqmasdan xizmat qiladi.
Browser cache TTL (soniya): brauzerga yuboriladigan
Cache-Control: max-age=<TTL>vaExpiresboshliqlari qiymati.TTL: obyekt (resurs) edge/brauzer keshi ichida yaroqlilik muddati.
SWR — stale-while-revalidate: yaroqlilik muddati o‘tgan bo‘lsa ham fon revalidatsiya vaqtida eski nusxani berish.
SIE — stale-if-error (Always-Online): origin 5xx/timeout bo‘lsa, oxirgi yaxshi nusxa beriladi.
Vary/ETag/Last-Modified: revalidatsiya mexanizmlari (shartli GET).
Cache turlari (Cache Mode)
UI’da uch rejimdan birini tanlaysiz:
1) No Caching
Edge keshlash va brauzer keshi o‘chiriladi (yoki origin boshliqlariga qat’iy rioya qilinmaydi).
Tavsiya: admin panel, shaxsiy ma’lumotlar, dinamik POST/GET (sessiya bog‘liq) sahifalar.
2) Standard Caching
Origin ko‘rsatmalariga rioya qiladi:
Cache-Control,Expires,ETag,Last-Modified.Hech narsa sozlamasangiz, statik fayllar (CSS/JS/IMG/WebFont) keshga mos bo‘ladi, dinamika esa odatda bypass.
Tavsiya: ko‘pchilik saytlar uchun default.
3) Custom Caching
Origin ko‘rsatmalarini bosib o‘tadi va o‘zingizning qoidalaringiz ishlaydi (masalan,
/*.css30 kun,/api/*0 s).Qoidalar keyingi sahifa — Cache nazorati da yaratiladi:
Path / fayl kengaytmasi / MIME turi bo‘yicha TTL
Query-stringni inobatga olish/olmaslik
Bypass on cookie (sessiya cookie bo‘lsa — cache emas)
HTTP metod cheklovi (GET/HEAD ni cachelash)
Tavsiya: versiyalangan statik fayllar (
app.7f9c3.js) uchun TTL’ni 30 kun – 1 yil; HTML uchun 0–120 s yoki SWR bilan juda qisqa TTL.
Smart Caching (Always-Online) — qisqa qoida
Smart Caching — Standard/Custom ustiga qo‘yiladigan xulq:
Stale-while-revalidate (SWR): TTL tugaganidan keyin
SWR_windowichida eski nusxani darhol beramiz, fon’da yangisini olib kelamiz.Stale-if-error (SIE / Always-Online): origin 5xx/timeout bo‘lsa,
SIE_windowichida oxirgi sog‘lom nusxa beriladi.
Chegaralar (tavsiya):
SWR_window: 60–120 sSIE_window: 900–1800 s (15–30 daqiqa)Faqat GET/HEAD, 200/206 javoblar keshdan beriladi. Set-Cookie bo‘lgan shaxsiy javoblarni Always-Online’da bermang (bypass on cookie).
POST, avtorizatsiyalangan sahifalar (sessiya cookie/Authorization) — cache emas.
Eslatma: Smart Caching toggllari va qoidalari Cache nazorati sahifasida batafsil sozlanadi.
Formadagi maydonlar
1) Domen tanlang
Qaysi domenning kesh siyosatini o‘zgartirayapsiz — shu yerda belgilanadi. O‘zgarishlar faqat shu domenga tatbiq etiladi.
2) Browser cache TTL (soniya)
Brauzerga yuboriladigan
max-age.0 → brauzer keshi o‘chiriladi (
no-store/no-cachesemantikasi).Bo‘sh qoldirilsa → Standard qiymatlar ishlaydi (origin boshliqlari).
Misollar:
Statik (CSS/JS/IMG): 86400 (1 kun) yoki 2592000 (30 kun)
HTML sahifa: 0–120 (SWR bo‘lsa 60 s)
Saqlash tugmasi — faqat browser TTL maydonini yozadi; qolgan qoidalar Cache nazoratida.
3) Cache Mode
Yuqaridagi No / Standard / Custom rejimlaridan birini tanlang va Saqlash.
Rejimlar va qoida o‘zgarishlari edge tugunlariga sekundlar ichida tarqatiladi.
4) Cache tozalash (Purge)
Keshdagi obyektlarni tozalash. Bu tugma default — butun domen keshini bo‘shatadi (mass purge). Granulyasion purge (URL, wildcards, Tag) keyingi sahifada.
Tez start — tavsiya etilgan profil
HTML
60 s (Edge) / 0–60 s (Browser)
SWR 60 s, SIE 900 s, bypass on cookie
CSS/JS (versiyalangan)
7–30 kun
Cache-Control: public, immutable
IMG/Font
30 kun
Katta fayllarda Range qo‘llab-quvvatlansin
/api/ (JSON)
0–10 s
Ko‘pincha bypass yoki qisqa TTL
Admin/sessiya
0
No Caching + bypass on cookie
Kesh kaliti (Cache Key) — qisqacha
Default: host + path + normalized query.
Custom rejimda Vary uchun qo‘shimchalar qo‘shishingiz mumkin (masalan, Accept-Encoding, X-Device).
Shaxsiy kontentda Cookie/Authorization mavjud bo‘lsa — bypass.
Misollar (amaliy ssenariylar)
Always-Online bilan blog
Mode: Standard
Browser TTL: 120 s
SWR: 60 s, SIE: 900 s
Natija: yangi postlarda bir necha soniya kechikish bo‘lishi mumkin, lekin origin ketganida ham sayt onlayn.
E-commerce: statik va HTML aralash
Mode: Custom
Qoidalar:
/*.css,/*.js,/*.png,/*.jpg→ TTL 7 kun/product/*(HTML) → TTL 60 s + SWR 60 s/cart|/checkout|/account→ No Caching (bypass on cookie)
Browser TTL: 86400 (statiklar uchun)
API
Mode: Custom
/api/public/*→ TTL 5 s, SWR 5 s/api/private/*→ No CachingBrowser TTL: 0
Last updated