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> va Expires boshliqlari 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, /*.css 30 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_window ichida eski nusxani darhol beramiz, fon’da yangisini olib kelamiz.

  • Stale-if-error (SIE / Always-Online): origin 5xx/timeout bo‘lsa, SIE_window ichida oxirgi sog‘lom nusxa beriladi.

Chegaralar (tavsiya):

  • SWR_window: 60–120 s

  • SIE_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-cache semantikasi).

  • Bo‘sh qoldirilsaStandard 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

Resurs turi
TTL (Edge/Brauzer)
Qo‘shimcha

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)

  1. 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.

  1. 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|/accountNo Caching (bypass on cookie)

  • Browser TTL: 86400 (statiklar uchun)

  1. API

  • Mode: Custom

  • /api/public/* → TTL 5 s, SWR 5 s

  • /api/private/*No Caching

  • Browser TTL: 0

Last updated