Настроить кеш через Redis несложно. Но зачем копировать код из старого проекта, бояться что-то потерять, когда можно сгенерировать эту часть.
Промпт, который закроет этот вопрос:
Ты Senior PHP-разработчик. Сгенерируй модуль кеширования для Laravel с Redis, с учётом всех современных паттернов, устойчивости и тестирования.
Требования:
Использование Redis через phpredis или predis (с учётом конфигурации в .env)
Кеширование с разными TTL для разных типов данных (разделение по Cache Store)
2 сервиса с кешированием:
Стратегия cache-aside (чтение из кеша и обновление вручную)
Стратегия write-through (автоматическое обновление кеша при записи данных)
Обработка инвалидации кеша при изменении данных
Кастомная обработка ошибок:
Fallback на in-memory или file cache (без исключений при недоступности Redis)
Логирование ошибок кеширования с уведомлением
Применение circuit breaker и retry паттернов при сете ошибок Redis
Защита от слишком частых запросов через кеширование с TTL и expiration для разных кешей
Изоляция кеш-слоя с использованием сервисов и репозиториев (не Cache фасад в контроллерах)
Настройки в .env и конфигурации кеша
Простой и понятный конфиг с разделением кешей для разных типов данных
Юнит-тесты с использованием Testcontainers для запуска Redis в Docker
Тестирование fallback-механизмов
Мокирование с имитацией недоступности Redis
Тесты на использование кеша с разными TTL
Стек: PHP 8.1+, Laravel 9.x, Redis, PHPUnit, Docker, Testcontainers
Библиотека пхпшника