Метод increment
Метод increment класса Cache позволяет увеличить
значение целочисленного ключа на указанную величину.
Первый параметр - ключ кэша, второй - количество единиц
для прибавления (по умолчанию - 1). Если ключ не существует,
он будет создан со значением, равным переданному инкременту.
Синтаксис
<?php
Cache::increment($key, $amount);
?>
Пример
Увеличим счётчик просмотров статьи на единицу:
<?php
use Illuminate\Support\Facades\Cache;
$articleId = 1;
$key = 'article_views_' . $articleId;
Cache::increment($key);
$views = Cache::get($key);
echo $views;
?>
Результат выполнения кода:
"1"
Пример
Инкрементируем значение с пользовательским шагом:
<?php
use Illuminate\Support\Facades\Cache;
$key = 'score';
Cache::put($key, 10, 60);
Cache::increment($key, 5);
$res = Cache::get($key);
echo $res;
?>
Результат выполнения кода:
"15"
Пример
Используем инкремент для подсчёта количества запросов к определённому эндпоинту:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cache;
class ArticleController extends Controller
{
public function show($id)
{
$key = 'article_requests_' . $id;
$requests = Cache::increment($key);
return response()->json([
'requests' => $requests
]);
}
}
?>
Пример
Инкрементируем значение существующего ключа
с проверкой через метод has:
<?php
use Illuminate\Support\Facades\Cache;
$key = 'visits';
if (!Cache::has($key)) {
Cache::put($key, 0, 60);
}
Cache::increment($key);
$res = Cache::get($key);
echo $res;
?>
Результат выполнения кода:
"1"