Проверка ключа has в кэше Laravel
Иногда нужно не само значение,
а ответ на вопрос: есть ли ключ
в кэше прямо сейчас. Для этого
есть Cache::has. Метод
принимает имя ключа и возвращает
true или false.
<?php
use Illuminate\Support\Facades\Cache;
if (Cache::has('visits')) {
$visits = Cache::get('visits');
}
?>
Если ключ записан и срок жизни
ещё не истёк, has вернёт
true. Если ключа нет
или время вышло - false.
Протухший ключ для has
тоже считается отсутствующим.
Часто has сочетают с
get: сначала проверяют,
потом читают. Иногда достаточно
одного get с умолчанием -
без отдельной проверки. has
удобен, когда ветки кода разные:
при наличии ключа одно действие,
при отсутствии - другое.
Не путайте has с записью
или чтением: он не меняет кэш
и не возвращает значение - только
факт наличия ключа.
Проверьте, есть ли ключ
greeting в кэше.
Что вернёт has,
если срок жизни ключа истёк?
Напишите условие: если ключа
visits нет - запишите
1 через put
на минуту.