زیرساخت

راهبرد کش در سایت‌های محتوایی

کش چند لایه دارد و هر لایه قاعده‌ی باطل‌سازی خودش را می‌خواهد. بدترین حالت، ندانستن است.

تصویرسازی لایه‌های کش از لبه تا پایگاه داده

کش در یک سایت محتوایی چند لایه دارد و هر لایه قاعده‌ی باطل‌سازی خودش را می‌خواهد. بدترین حالت این است که ندانید کدام لایه محتوای قدیمی را نگه داشته.

لایه‌ها

لایه

چه چیزی نگه می‌دارد

چگونه باطل می‌شود

مرورگر

دارایی‌های ایستا

نشانی محتوامحور

لبه

پاسخ HTML

برچسب کش و رویداد انتشار

برنامه

پرس‌وجوهای پرهزینه

کلید نسخه‌دار

پایگاه داده

—

منبع حقیقت

در رامو انتشار یک رویداد صادر می‌کند و همان رویداد باطل‌سازی لبه را راه می‌اندازد؛ یعنی ویرایشگر برای دیدن تغییر منتظر انقضای زمانی نمی‌ماند.

تصویرسازی لایه‌های کش از لبه تا پایگاه داده
# باطل‌سازی از رویداد انتشار می‌آید، نه از یک تایمر
@register_publication_listener
def revalidate(event: PublicationEvent) -> None:
    post(revalidate_url(), json={"tags": cache_tags_for(event)})

قاعده‌ی سرانگشتی

  • دارایی محتوامحور را برای همیشه کش کنید.

  • HTML را کوتاه کش کنید و با رویداد باطل کنید.

  • هر چیزی که کاربر-ویژه است را هرگز در لبه کش نکنید.

کشی که نمی‌دانید چگونه باطلش کنید، یک اشکال است که هنوز رخ نداده.

دست‌اندرکاران

ویراستار
مینا رضایی