Cache Invalidation حذف یا منقضی کردن داده کش شدهای است که دیگر معتبر نیست، مثلاً پس از تغییر قیمت محصول باید نسخه قبلی حذف شود.
TTL، حذف رویدادمحور و Versioning از روشهای رایجاند. هماهنگی کش و منبع اصلی از مسائل دشوار طراحی است.
پس از تغییر قیمت محصول، Cache قدیمی باید حذف یا نسخهبندی شود. اگر حتی یک مسیر تغییر قیمت این کار را فراموش کند، کاربر داده کهنه میبیند.
نمونه کوتاه
Cache::forget("product:" . $productId);
درک تفاوت این موضوع با کشینگ و ردیس به انتخاب راهکار مناسبتر کمک میکند.
نامعتبر کردن کش
اگر قیمت محصول در دیتابیس تغییر کند اما کش هنوز مقدار قبلی را نگه دارد، کاربر قیمت نادرست میبیند. TTL، حذف کلید بعد از Update و Versioned Key از روشهای کنترل کشاند. کشینگ همیشه یک مسئله سازگاری داده دارد.