flightphp/cache
Лёгкий, простой и автономный класс кэширования PHP в файле
Преимущества
- Лёгкий, автономный и простой
- Весь код в одном файле - никаких бесполезных драйверов.
- Безопасный - каждый сгенерированный файл кэша имеет заголовок php с die, что делает прямой доступ невозможным, даже если кто-то знает путь и ваш сервер неправильно настроен.
- Хорошо документирован и протестирован
- Корректно обрабатывает параллелизм через flock
- Поддерживает PHP 7.4+
- Бесплатно по лицензии MIT
Этот сайт документации использует эту библиотеку для кэширования каждой из страниц!
Нажмите здесь, чтобы просмотреть код.
Установка
Установите через composer:
composer require flightphp/cache
Использование
Использование довольно простое. Это сохраняет файл кэша в директории кэша.
use flight\Cache;
$app = Flight::app();
// Вы передаёте директорию, в которой будет храниться кэш, в конструктор
$app->register('cache', Cache::class, [ __DIR__ . '/../cache/' ], function(Cache $cache) {
// Это гарантирует, что кэш используется только в режиме продакшн
// ENVIRONMENT - это константа, которая устанавливается в вашем файле начальной загрузки или в другом месте вашего приложения
$cache->setDevMode(ENVIRONMENT === 'development');
});
Затем вы можете использовать его в своём коде так:
// Получить экземпляр кэша
$cache = Flight::cache();
$data = $cache->refreshIfExpired('simple-cache-test', function () {
return date("H:i:s"); // вернуть данные для кэширования
}, 10); // 10 секунд
// или
$data = $cache->retrieve('simple-cache-test');
if(empty($data)) {
$data = date("H:i:s");
$cache->store('simple-cache-test', $data, 10); // 10 секунд
}
Документация
Посетите https://github.com/flightphp/cache для полной документации и убедитесь, что вы посмотрели папку примеры.