در حال دریافت اطلاعات ...
متن رفرنس
تعیین میکند دادهای که داخل 'use cache' کش شده:
چه مدت تازه (fresh) است
چه مدت قدیمی ولی قابل استفاده (stale) است
چه زمانی باید دوباره fetch شود (revalidate)
چه زمانی کاملاً منقضی شود (expire)
مدتی که بعد از آن داده دیگر تازه محسوب نمیشود.
اما:
هنوز از cache به کاربر داده میشود
فقط به سیستم میگوید داده کمی قدیمی شده
زمانی که بعد از آن:
درخواست جدید بیاید
کاربر هنوز cache را میگیرد
ولی در background داده دوباره fetch میشود
cache با داده جدید جایگزین میشود
این همان الگوی stale‑while‑revalidate است.
زمانی که:
cache دیگر قابل استفاده نیست
حذف میشود
درخواست بعدی باید منتظر fetch واقعی بماند
stale: 5mrevalidate: 1h
expire: 1d
رفتار:
داده fresh استاز cache داده میشود
5 دقیقه → 1 ساعت
داده stale است
ولی هنوز از cache داده میشود
بعد از 1 ساعت
درخواست میآید
cache سریع داده میشود
همزمان در background داده دوباره fetch میشود
بعد از 1 روز
cache منقضی میشود
درخواست بعدی باید fetch واقعی انجام دهد
هدف:
پاسخ سریع به کاربر (cache)
کاهش فشار به دیتابیس
آپدیت شدن تدریجی داده در background
الگو: Stale‑While‑Revalidate
عنوان کارت
پاسخ