Удаление ключа forget из кэша Laravel
Кэш хранит снимок данных на время.
Если в базе что-то изменилось -
добавили категорию, обновили пост -
старый снимок уже неверен. Нужно
убрать конкретный ключ, чтобы
следующий get или
remember снова посчитал
свежие данные.
Для удаления одного ключа есть
Cache::forget. Передают
имя ключа - и значение под ним
исчезает из кэша:
<?php
use Illuminate\Support\Facades\Cache;
Cache::forget('posts.all');
?>
Обычно forget вызывают
сразу после успешного сохранения
или удаления в контроллере
(или в модели, событии). Ключ
должен совпадать с тем, которым
писали через put или
remember - иначе сбросится
не то, что нужно.
forget трогает только
указанный ключ. Остальной кэш
приложения остаётся на месте.
Полную очистку разберём отдельно -
ей пользуются осторожнее.
После создания категории
сбросьте ключ списка категорий
через forget.
Чем forget отличается
от истечения срока жизни ключа?
Сбросьте ключ posts.all
после обновления поста.