Конфигурирование кеша
Файл конфигурации кеша приложения находится в config/cache.php
. В этом файле вы можете указать, какой драйвер кеша хотите использовать по умолчанию для всего приложении.
Laravel из коробки поддерживает популярные механизмы кеширования, такие как Memcached
, Redis
, DynamoDB
, реляционные базы данных
. Кроме баз данных, доступен драйвер кеширования на основе файлов
.
Memcached
Для использования драйвера Memcached
требуется установить пакет пакет Memcached PECL. Вы можете перечислить все ваши серверы Memcached в файле конфигурации config/cache.php
. Этот файл уже содержит начальную запись memcached.servers
:
config/cache.php'memcached' => [
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
Перед использованием кеша, нужно установить глобальную переменную в файле .env
:
.envCACHE_DRIVER=memcached
Redis
Перед использованием драйвера кеша Redis, нужно будет установить predis
через composer
:
composer require predis/predis
В файле config/database.php
заменяем следующию строку:
config/database.php'client' => env('REDIS_CLIENT', 'phpredis')
На:
config/database.php'client' => env('REDIS_CLIENT', 'predis')
Перед использованием кеша, нужно установить глобальную переменную в файле .env
:
.envCACHE_DRIVER=redis
DynamoDB
Перед использованием драйвера кэша DynamoDB необходимо создать таблицу DynamoDB
для хранения всех кэшированных данных. Название таблицы должно совпадать с stores.dynamodb.table
в конфигурационном файле cache
вашего приложения, обычно это cache
.
Эта таблица также должна иметь строковый ключ раздела с именем, соответствующим значению элемента конфигурации stores.dynamodb.attributes.key
в конфигурационном файле cache
, по умолчанию это key
.
Перед использованием кеша, нужно установить глобальную переменную в файле .env
:
.envCACHE_DRIVER=dynamodb
Файловый
Файловый кеш, установлен по умолчанию в Laravel. На сервере в файловой структуре, данные хранятся в зашифрованных файлах, которые находятся по пути storage/framework/
. Laravel создает зашифрованный файл с данными и ключом кэша. Когда пользователь пытается получить содержимое, фасад Cache
в Laravel выполняет поиск указанного ключа в папках, если ключ найден возвращается содержимое.
Перед использованием кеша, нужно установить глобальную переменную в файле .env
:
.envCACHE_DRIVER=file