در مفهوم Cache دو اصطلاح Hit و Miss وجود دارد که Hit به زمانی گفته میشود که دادهی درخواست شده در Cache موجود باشد و Miss هم مخالف آن است و در صورتی که دادهی درخواست شده را نتوانیم در Cache پیدا کنیم، میگوییم Cache Miss اتفاق افتاده است.
با توجه به توضیح بالا هر چه ضریب Hit بالاتر باشد، میگوییم Caching کارآمدتری داریم. در نتیجه، فرمول زیر برای محاسبه میانگین زمان دسترسی به حافظه ارائه میشود:
memory reference time (T) = Average

الگوریتمهایی برای رسیدن به ضریب Hit بالا استفاده میشود که در ادامه میخوانید:
الگوریتم Bélády
این الگورتیم اطلاعاتی را که برای مدت طولانی در آینده مورد استفاده نخواهند بود را دور میریزد. الگوریتم Bélády فقط زمانی مناسب است که ما بتوانیم آینده را پیش بینی کنیم تا اطلاعاتی که کمتر مورد استفاده قرار میگیرند را شناسایی و حذف کنیم. در عمل این پیش بینی در بیشتر مواقع ممکن نیست در نتیجه در موارد محدودی میتوان از این الگوریتم استفاده کرد.
Least Recently Used (LRU)
LRU یکی از رایجترین و کارآمدترین روشها برای مدیریت حافظهی کش (Cache) است. در این الگوریتم، دادهای که مدت زمان بیشتری از آخرین استفادهی آن گذشته است، در اولویت حذف قرار دارد.
یعنی هر زمان که کش به ظرفیت خود رسید و نیاز به آزادسازی فضا بود، LRU دادهای را حذف میکند که کمترین "تازگی در استفاده" را دارد. نه کمترین تعداد استفاده.
به عبارت دیگر، این الگوریتم حافظهای از ترتیب زمانی استفاده اخیر از دادهها نگه میدارد و همیشه قدیمیترین مورد (از نظر آخرین دسترسی) را حذف میکند.
Most Recently Used (MRU)
بر خلاف الگوریتم LRU، این الگوریتم ابتدا مواردی که اخیرا بیشترین استفاده را داشتهاند را حذف میکند. این الگوریتم در شرایطی مفید است که احتمال فراخوانی یک داده قدیمیتر، بیشتر باشد.
Header های Cache چه میگویند؟
توسعه دهندههای وب از بخش Cache در Headerهای HTTP برای مشخص کردن دادههایی که میخواهند Cache شود و مدت زمانی نگهداری آنها در Cache استفاده میکنند.
با استفاده از این Headerهای Cache شما میتوانید استراتژی Cache خود را به گونهای مدیریت کنید که همیشه از به روز بودن اطلاعات اطمینان داشته باشید.
به عنوان مثال: "Cache-Control: Max-Age = 3600" که در تصویر زیر مشاهده میکنید، به این معنی است که فایل را لازم نیست بیش از یک ساعت cache کرد. پس از اتمام یک ساعت، فایل منقضی شده و باید دوباره آن را از سرور اصلی درخواست کرد.

البته تنظیم این مقادیر برای هر فایل و یا دستهای از فایلها، ممکن است سخت باشد و البته عملکرد CDN را از حالت بهینه خارج کند. CDNهای جدید مکانیزمهای هوشمندی دارند که این فرآیندها را مدیریت کرده و بهینه ترین حالت ممکن را ایجاد مینمایند.