JET School

Keş (Cache) nədir?

Cache — verilənlərin müvəqqəti yaddaşda saxlanılması prosesidir. Bu texnologiya həm Front-End (istifadəçi interfeysi), həm də Back-End (server tərəfi) sahəsində geniş istifadə olunur və əsas məqsədi — performansı artırmaq, yəni sistemin daha sürətli və effektiv işləməsini təmin etməkdir.

Front-End tərəfində Cache necə işləyir?

Veb saytların istifadəçilər üçün daha sürətli yüklənməsi çox önəmlidir. Burada cache mühüm rol oynayır. Brauzer cache-i adlanan bu mexanizm veb səhifənin müxtəlif statik elementlərini (şəkillər, CSS faylları, JavaScript skriptləri və s.) müvəqqəti olaraq istifadəçinin cihazında saxlayır.

Üstünlükləri:

  • Sürətli yükləmə: Eyni səhifəni təkrar ziyarət etdikdə brauzer bu faylları yenidən serverdən yükləmək əvəzinə, cihazdakı cache-dən istifadə edir.
  • Trafikə qənaət: Hər dəfə eyni faylların yüklənməsi lazım olmadığından, internet trafikinin həcmi azalır.
  • İstifadəçi təcrübəsi artır: Səhifələrin daha sürətli açılması istifadəçidə müsbət təəssürat yaradır.

Misal:

İstifadəçi bir veb saytı ziyarət etdikdə, saytın loqosu və stil (CSS) faylları brauzerdə saxlanılır. İkinci dəfə həmin sayta daxil olduqda, bu fayllar artıq serverdən deyil, birbaşa istifadəçinin kompüterindən yüklənir.

Back-End tərəfində Cache necə işləyir?

Server tərəfində cache, daha çox məlumat bazası sorğularının və API cavablarının müvəqqəti saxlanılması üçün istifadə olunur. Bu, serverin hər dəfə eyni məlumat üçün sorğu göndərməsinin qarşısını alır.

Üstünlükləri:

  • Server yükü azalır: Hər sorğu üçün məlumat bazasına müraciət etmək əvəzinə, sistem cavabı hazır cache yaddaşından götürür.
  • Performans artır: Sorğular daha tez cavablandırılır, sistem daha sürətli işləyir.
  • Miqyaslana bilmə qabiliyyəti yaxşılaşır: Eyni anda çox sayda istifadəçi sistemə daxil olduqda belə, sistem dayanıqlı və sürətli qalır.

İstifadə olunan texnologiyalar:

  • Redis: Açıq mənbə kodlu, yüksək performanslı cache sistemi. Adətən açar-dəyər (key-value) strukturunda işləyir. Real vaxtda işləyən sistemlər üçün idealdır.
  • Memcached: Yüngül və sadə strukturda olan, tez-tez istifadə olunan məlumatların yaddaşda saxlanması üçün tətbiq edilən sistemdir.

Misal:

Tutaq ki, bir e-ticarət saytında “ən çox satılan məhsullar” siyahısı gündəlik olaraq dəyişir. Bu məlumat bazadan götürülüb, hər dəfə istifadəçiyə göstərilir. Lakin məlumatlar 5 dəqiqədən bir yenilənirsə, hər saniyə sorğu göndərmək yerinə, bu siyahını cache-də saxlayıb həmin müddət ərzində eyni cavabı göstərmək daha səmərəlidir.

Cache nə zaman yenilənir?

Cache-in əsas funksiyası sabit qalan və ya nadir hallarda dəyişən məlumatları saxlamaqdır. Lakin bəzi hallarda məlumat dəyişir və köhnəlmiş cache istifadəyə yararsız olur. Buna görə də cache sistemləri expiration time (vaxt limiti) və ya invalidasiya metodları ilə yenilənir:

  • Time-based expiration: Cache müəyyən müddətdən sonra avtomatik silinir və məlumat yenidən serverdən alınır.
  • Manual invalidation: Sistem müəyyən hadisə baş verdikdə (məsələn, məlumat yeniləndikdə) cache-i əl ilə təmizləyir.

Nəticə

Cache texnologiyası, veb sistemlərin sürətini artırmaq və daha yaxşı istifadəçi təcrübəsi təmin etmək üçün müasir proqramlaşdırmada əvəzolunmazdır. Brauzer səviyyəsində istifadəçiyə sürətli səhifə yüklənməsi təqdim edir, server səviyyəsində isə məlumat bazası və API-lərin daha effektiv işləməsini təmin edir. Doğru tətbiq edilmiş cache strategiyası həm istifadəçilər, həm də server üçün böyük faydalar gətirir.

Əlaqəli terminlər:

IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!