Система подій кешу в Laravel дозволяє детально моніторити операції кешування у вашій аплікації. Ці події надають корисну інформацію про продуктивність кешу та його використання.
Laravel генерує специфічні події для різних дій з кешем:
use Illuminate\Cache\Events\{
CacheHit,
CacheMissed,
KeyForgotten,
KeyWritten
};
Ви можете створювати прослуховувачі для цих подій, щоб збирати дані про продуктивність або виконувати додаткові дії залежно від поведінки кешу.
use Illuminate\Support\Facades\Event;
Event::listen(function (CacheHit $event) {
Log::info("Cache hit for key: {$event->key}");
});
Event::listen(function (CacheMissed $event) {
Log::info("Cache miss for key: {$event->key}");
});
Ось як виглядає всебічна система аналітики кешу, що відстежує всі операції з кешем:
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\DB;
class CacheAnalyticsService
{
public function registerListeners()
{
Event::listen(function (CacheHit $event) {
$this->trackCacheOperation('hit', [
'cache_key' => $event->key,
'store' => $event->store ?? 'default',
'timestamp' => now()
]);
});
Event::listen(function (CacheMissed $event) {
$this->trackCacheOperation('miss', [
'cache_key' => $event->key,
'store' => $event->store ?? 'default',
'timestamp' => now()
]);
});
Event::listen(function (KeyWritten $event) {
$this->trackCacheOperation('write', [
'cache_key' => $event->key,
'expiry_seconds' => $event->seconds,
'store' => $event->store ?? 'default',
'timestamp' => now()
]);
});
Event::listen(function (KeyForgotten $event) {
$this->trackCacheOperation('delete', [
'cache_key' => $event->key,
'store' => $event->store ?? 'default',
'timestamp' => now()
]);
});
}
private function trackCacheOperation(string $operation, array $metadata)
{
DB::table('cache_analytics')->insert([
'operation_type' => $operation,
'cache_key' => $metadata['cache_key'],
'store_name' => $metadata['store'],
'expiry_time' => $metadata['expiry_seconds'] ?? null,
'recorded_at' => $metadata['timestamp']
]);
}
}
Слід врахувати, що моніторинг подій може вплинути на продуктивність. Ви можете вимкнути його для конкретного кеш-зберігання у вашій конфігурації за потреби
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом