Otázka je celkom jasná.
php artisan cache:clear
Existuje nejaké riešenie na vymazanie vyrovnávacej pamäte, ako je uvedené vyššie, ktoré používame v CLI. Používam populárnu zdieľanú hostingovú službu, ale podľa môjho plánu nemám prístup k ovládaciemu panelu.
Chcem vymazať vyrovnávaciu pamäť zobrazení.
Videl som otázku takmer rovnakú ako táto, ale nepomohla mi.
Príkaz Artisan môžete vyvolať mimo CLI.
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('cache:clear');
// return what you want
});
Oficiálnu dokumentáciu si môžete pozrieť tu http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli
Aktualizácia
Nie je možné odstrániť vyrovnávaciu pamäť zobrazenia. Neumožňuje to ani php artisan cache:clear
.
Ak naozaj chcete vymazať vyrovnávaciu pamäť pohľadu, myslím, že musíte napísať vlastný príkaz artisan
a zavolať ho, ako som už povedal, alebo úplne vynechať cestu artisan
a vymazať vyrovnávaciu pamäť pohľadu v nejakej triede, ktorú voláte z kontroléra alebo trasy.
Ale moja skutočná otázka znie: potrebujete naozaj vymazať vyrovnávaciu pamäť zobrazenia? V projekte, na ktorom teraz pracujem, mám takmer 100 cachovaných pohľadov a vážia menej ako 1 Mb, zatiaľ čo môj adresár vendor
má > 40 Mb. Nemyslím si, že vyrovnávacia pamäť zobrazení je skutočným úzkym miestom pri využívaní disku a nikdy som nemal skutočnú potrebu ju vymazať.
Čo sa týka aplikácie cache, tá je uložená v adresári storage/framework/cache
, ale len ak ste nakonfigurovali ovládač file
v adresári config/cache.php
. Môžete si vybrať mnoho rôznych ovládačov, napríklad Redis alebo Memcached, aby ste zlepšili výkon oproti súborovej vyrovnávacej pamäti.