Кешування (Caching)
Технологія тимчасового зберігання даних для прискорення доступу до них.
Кешування працює на всіх рівнях: апаратний рівень (кеш процесора, щоб не чекати на повільну оперативну пам'ять), рівень додатків (Redis або Memcached для запитів до бази даних), мережевий рівень (CDN для кешування картинок ближче до користувача) та браузерний рівень (збереження файлів сайтів на диску).
graph LR
Center["Кешування (Caching)"]:::main
Rel_file_systems["file-systems"]:::related -.-> Center
click Rel_file_systems "/terms/file-systems"
Rel_cpu_cache["cpu-cache"]:::related -.-> Center
click Rel_cpu_cache "/terms/cpu-cache"
Rel_cache["cache"]:::related -.-> Center
click Rel_cache "/terms/cache"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простими словами
Уявіть, що щоразу, коли ви хочете подзвонити мамі, вам треба йти в іншу кімнату і шукати її номер у товстезному телефонному довіднику. Кешування — це як записати її номер на стікері і приклеїти на монітор. Стікер маленький (весь довідник не влізе), але найпотрібніший номер завжди під рукою.
🤓 Expert Deep Dive
Апаратне кешування (L1/L2/L3) базується на просторовій та часовій локальності. Оскільки об'єм кешу обмежений, використовуються алгоритми витіснення (Eviction Policies), такі як LRU (Least Recently Used) або LFU. Найскладнішою проблемою є інвалідація кешу (Cache Invalidation) — забезпечення своєчасного видалення або оновлення застарілих даних, щоб користувач не отримав 'прострочену' інформацію.
❓ Часті питання
Why not just make the cache big enough to hold everything?
Cost and physics. Cache storage (like SRAM inside a CPU or RAM for a database) is extremely fast but very expensive per gigabyte. Primary storage (like hard drives or SSDs) is much cheaper but much slower. Caching provides the best of both worlds.
What does it mean to 'clear your cache'?
When you clear your web browser's cache, you are deleting the temporary files (images, scripts) it saved from websites you visited. This is often necessary if a website updates its design but your browser is stubbornly loading the old, cached version.
What is a 'cache miss'?
A cache miss occurs when a system looks for data in the cache but doesn't find it. It must then fetch the data from the slower primary storage, which takes longer, and then it typically copies that data into the cache for next time.