Почистить кэш php artisan

Команды Artisan для сброса кэша в Laravel

Кэш конфигурации объединяет все параметры приложения в один файл, который в последствии подгружается вместе с фреймворком при запуске приложения.

Очистка кэша конфигурации

Очистка данного типа кэша бывает необходимо при изменении файла .env, чтобы новые конфигурации вступили в силу:

$ php artisan config:clear Configuration cache cleared!

Так же можно принудительно пересоздать кэш с новой конфигурацией, для этого нужно выполнить команду:

$ php artisan config:cache Configuration cache cleared! Configuration cached successfully!

Таким образом, это сократит время на создание нового файла кэша.

2. Кэширование роута (маршрута)

Роуты в Laravel так же кэшируются, это сокращает время регистрации всех маршрутов вашего приложения. Иногда после регистрации маршрута требуется сбросить кэш, чтобы изменения вступили в силу. Для этих целей можно использовать команду:

$ php artisan route:clear Route cache cleared!

Как и в предыдущем примере, эта команда очистит кэш роутов, а новый будет создан при последующем запуске приложения.
Более удобная команда для пересоздания кэша роутов:

$ php artisan route:cache Route cache cleared! Routes cached successfully!

Это быстро и удобно, старый кэш будет очищен и вместо него будет создан новый.

Читайте также:  Javascript delete item from list

3. Кэширование представлений

Представления так же кэшируются в целях повышения производительности при работе приложения. В Laravel кэш представления работает в автоматическом режиме, и самостоятельно определяет было ли изменено представление после того как был создан его кэш. Если представление было изменено, кэш представления будет пересоздан.

Однако если нужно очистить кэш представления принудительно, есть команды и для этих целей.

Очистка кеша представления

Чтобы сбросить кэш представлений в Laravel, выполните команду:

$ php artisan view:clear Compiled views cleared!

Аналогичным образом можно сразу удалить и создать кэш представления с помощью другой команды:

$ php artisan view:cache Compiled views cleared! Blade templates cached successfully!

4. Кэш событий

Часто в Laravel может использоваться встроенный механизм событий. Как известно, он так же кэшируется, и иногда может потребоваться сбросить их кэш.

Очистка кеша событий

Очистить кэш событий в Laravel можно с помощью команды:

$ php artisan event:clear Cached events cleared!

Команда очистит кэш событий, а новый будет создан при запуске приложения Laravel. Чтобы просто перегрузить кэш, не дожидаясь повторного запуска приложения, нужно выполнить команду:

$ php artisan event:cache Cached events cleared! Events cached successfully!

5. Кэш приложения

Кэш приложения помогает значительно экономить ресурсы сервера при хранении часто используемых данных.

Очистка кэша приложений

Иногда может потребоваться сбросить кэш приложения, это делается следующей командой:

$ php artisan cache:clear Application cache cleared!

Результат выполнения команды будет очистка кэша который располагается директории /storage/framework/cache/data/.
Этот сброс аналогичен вызову метода Cache::flush(); в коде приложения.
Важно понимать что эта команды не сбрасывает кэш конфигурации, маршрута и приложения, которые расположены отдельно в /bootstrap/cache/*.

6. Сброс всего кэша

Иногда может потребоваться сделать общий сброс кэша, использование описанных выше команд по отдельности в этом случае не совсем будет удобным. Для этих целей есть другая команда, которая по сути выполнит работу всех предыдущих команд (кроме кэша событий):

$ php artisan optimize:clear Compiled views cleared! Application cache cleared! Route cache cleared! Configuration cache cleared! Compiled services and packages files removed! Caches cleared successfully!

Можно так же отдельно запускать сброс кэша для скомпилированных файлов класса во фреймворке:

$ php artisan clear-compiled Compiled services and packages files removed!

Laravel в классическом случае так же использует зависимости Composer Dependency Manager для PHP а также NPM для любой библиотеки JavaScript. Для повышения производительности там тоже создаётся кэш, и иногда может потребоваться сбросить его.

Очистка кэша Composer

После установки нового пакета в Composer бывает его некорректная работа. Частая причина кроется в расхождении версии отдельных библиотек. Перезагрузить автозагрузчик для приложения можно с помощью команды:

По отдельности так же можно удалить содержимое каталогов с кэшем Composer:

$ composer clear-cache $ composer clearcache $ composer cc

Очистка кэша NPM

NPM тоже имеет свой кэш, и иногда может потребоваться сбросить его. Для этого достаточно выполнить команду:

Ну вот и всё, пожалуй тут собраны все основные команды для сброса различного кэша в приложении Laravel а так же Composer и NPM.

VK FB TW Whatsapp Telegram Email

Источник

Laravel Artisan Cache Commands Explained

Often times, when you are in the middle of developing a Laravel application, you may find that the changes you made in your code are not reflecting well on the application when testing. Usually, the case is most likely caused by caching applied by the Laravel framework. Here are some of the common commands you can run in your terminal to alleviate the issue.

❗️ Make sure you are running them in the context of your application. Meaning, your terminal is currently in the same directory as your Laravel application.

1. Configuration Cache

Caching configuration helps with combining all of the configuration options for your application into a single file which will be loaded quickly by the framework.

Clearing Configuration Cache

However, if you notice changes to the configuration values in .env file is not reflecting on your application, you may want to consider clearing the configuration cache with the following command:

$ php artisan config:clear Configuration cache cleared! 

If you want to quickly reset your configuration cache after clearing them, you may instead run the following command:

$ php artisan config:cache Configuration cache cleared! Configuration cached successfully! 

Caching your configuration will also help clear the current configuration cache. So it helps save your time without having to run both commands.

2. Route Caching

Caching your routes will drastically decrease the amount of time it takes to register all of your application’s routes. When you add a new route, you will have to clear your route cache for the new route to take effect.

Clearing Route Cache

$ php artisan route:clear Route cache cleared! 
$ php artisan route:cache Route cache cleared! Routes cached successfully! 

Again, running the above command alone is enough to clear your previous route cache and rebuild a new one.

3. Views Caching

Views are cached into compiled views to increase performance when a request is made. By default, Laravel will determine if the uncompiled view has been modified more recently than the compiled view, before deciding if it should recompile the view.

Clearing View Cache

However, if for some reason your views are not reflecting recent changes, you may run the following command to clear all compiled views cache:

$ php artisan view:clear Compiled views cleared! 

In addition, Laravel also provides an Artisan command to precompile all of the views utilized by your application. Similarly, the command also clears the view cache before recompiling a new set of views:

$ php artisan view:cache Compiled views cleared! Blade templates cached successfully! 

4. Events Cache

If you are using Events in your Laravel application, it is recommended to cache your Events, as you likely do not want the framework to scan all of your listeners on every request.

Clearing Events Cache

$ php artisan event:clear Cached events cleared! 

Likewise, caching your Events also clear any existing cache in the framework before a new cache is rebuilt:

$ php artisan event:cache Cached events cleared! Events cached successfully! 

5. Application Cache

Using Laravel’s Cache is a great way to speed up frequently accessed data in your application. While developing your application involving cache, it is important to know how to flush all cache correctly to test if your cache is working properly.

Clearing Application Cache

$ php artisan cache:clear Application cache cleared! 

This will clear all the cache data in storage which are typically stored in /storage/framework/cache/data/ . The effect is similar to calling the Cache::flush(); Facade method via code.

❗️ This command will NOT clear any config, route, or view cache, which are stored in /bootstrap/cache/ directory.

6. Clearing All Cache

Laravel provides a handy Artisan command that helps clear ALL the above caches that we have covered above. It is a convenient way to reset all cache in your application, without having to run multiple commands introduced before. To clear all Laravel’s cache, just run the following command:

$ php artisan optimize:clear Compiled views cleared! Application cache cleared! Route cache cleared! Configuration cache cleared! Compiled services and packages files removed! Caches cleared successfully! 

As you can read from the terminal feedback, all cache types that existed in your Laravel application will be cleared entirely, except Events cache.

❗️ The Compiled services and packages files removed! can be run individually via $ php artisan clear-compiled command. It is used to remove the compiled class file in the framework.

🎁 Bonus

If the above Laravel’s Artisan commands don’t seem to resolve the issue you are facing, you may need to look at other related environments in your project that may be causing it. When building a Laravel project, it is common to employ the Composer Dependency Manager for PHP, as well as NPM for any JavaScript library that might be needed in your project. We just have to take note that both package managers are using some form of caching for performance improvements.

Clearing Composer Cache

Sometimes, a new package you just installed via Composer doesn’t appear to be working at all. Or a new project you just cloned from a repository doesn’t seem to be running correctly. Such issues are usually caused by classmap error from a newly installed library class, or the cached version of a particular library does not match with the ones required by the project codebase you just cloned. In such a situation, you need to update the PHP autoloader by running the following command:

As well as any of the following variations(they all achieve the same purpose of deleting all content from Composer’s cache directories):

$ composer clear-cache $ composer clearcache $ composer cc 

Источник

Оцените статью