Пакет SmartCache для Laravel, розроблений Исмаелем Азараном, призначений для оптимізації кешування даних у ваших додатках. Він може розумно управляти великими обсягами даних, використовуючи такі техніки, як стиснення, розбиття на частини та інші:
use SmartCache\Facades\SmartCache;
// Зберігання великих даних з автоматичною оптимізацією
SmartCache::put('user_data', $largeUserArray, now()->addMinutes(10));
// Легкий доступ до даних
$userData = SmartCache::get('user_data');
SmartCache має оптимізаційні стратегії, що враховують драйвери (наприклад, Redis, файл, база даних), щоб уникнути несумісних функцій залежно від використовуваного драйвера. Ось приклад із документації пакета README, що ілюструє, що відбувається за лаштунками:
$complexObject = [
'users' => $userCollection,
'metadata' => $metadataArray,
'statistics' => $statsData
];
// SmartCache автоматично оптимізує зберігання
SmartCache::put('api_response', $complexObject, 600);
// За лаштунками:
// - Автоматично перевіряє розмір даних
// - Стискає або розбиває, якщо потрібно
// - Зберігає метадані оптимізації для доступу
// - Забезпечує швидке відновлення
// Отримання оптимізованих даних
$retrievedData = SmartCache::get('api_response');
# Основні можливості
- Автоматичне виявлення великих обсягів кешу - Виявляє потребу в оптимізації самостійно
- Стиснення даних перед кешуванням - Зменшує вимоги до зберігання за допомогою gzip
- Розбиття великих масивів або об'єктів на керовані частини для підвищення продуктивності
- Інтелектуальна серіалізація - Сучасні техніки серіалізації даних
- Прозоре відновлення та реконструкція - Легкий доступ до відновлених даних
- Розширювана стратегія для налаштованих оптимізацій
- Додаткова резервна можливість для несумісних драйверів
- Підтримка функцій-астр у стилі Laravel
- Оптимізація для драйверів кешу Redis та файлів
- Моніторинг продуктивності і статистика кешу
💻 Почати роботу з цим пакетом можна на GitHub: iazaran/smart-cache