Częste:
Są wszystkie pamięci podręczne .
Wszystkie są przyzwyczajone do zmniejszenia kosztów czasu .
Inne:
Konfiguracje i trasy:
Należy do aplikacji . Nazywamy to pamięcią podręczną aplikacji .
php artisan config:cache
php artisan route:cache
Te dwa polecenia buforują trasy i konfiguracje.
ŚCIEŻKA:
Są zawsze przechowywane w bootstrap/cache/
Bieganie
php artisan config:clear
php artisan route:clear
Wyczyść tylko katalogi i pliki w bootstrap/cache/
.
Są statyczne . Zmieniają się więc tylko wtedy, gdy je zmieniasz.
Korzyści
Jeśli je zmienisz, musisz clear
i cache
je ręcznie.
Po przeszukaniu tych tras i konfiguracji.
Laravel nie musi ponownie odczytywać konfiguracji i tras z pliku co kosztowało czas IO.
Pamięć podręczna systemu plików i pamięć podręczna Redis:
Pamięć podręczna systemu plików i pamięć podręczna Redis również są pamięcią podręczną.
Jednak używają innego sterownika do przechowywania danych, czyli gdzie przechowujesz dane z pamięci podręcznej .
ŚCIEŻKA systemu plików:Jeśli używasz sterownika systemu plików. są przechowywane w storage/framework/cache/
Reids PATH:Przechowywanie danych w redis
według pary klucz-wartość.
Kiedy ich używasz?
Kiedy okazało się, że istnieje wiele żądań do tego kodu w celu uzyskania danych. A te dane nie zmieniają się tak szybko.
Możesz użyć pamięci podręcznej do ich przechowywania, a następnie następnym razem, gdy kolejne żądanie do tego api.it po prostu pobierz dane z pamięci podręcznej.jak poniżej:
$posts = Cache::remember('index.posts', 30, function()
{return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();});
Pierwsze żądanie pobiera dane postów z bazy danych, a następnie przechowuje te dane w pamięci podręcznej (Reids lub Filesystem) wygasło po 30 sekundach.
Następne żądanie pobiera dane postów tylko przez pamięć podręczną. Nie muszą ponownie przeszukiwać baz danych.
A ten:
use Illuminate\Support\Facades\Redis;
Route::get('/', function () {
$visits = Redis::incr('visits');
return $visits;
});
Oznacza, gdy ludzie proszą o localhost:8000/
, liczba odwiedzin użytkowników wzrasta w redis
(nie trzeba przechowywać w bazie danych, kosztuje to więcej czasu), następnym razem, gdy żądanie przeszukania liczby odwiedzin, można je znaleźć w redis
bardzo szybko.
PS:Tutaj użyj Redis Facade, a następnie dane są przechowywane w redis
.
Jeśli używasz redis jako sterownika pamięci podręcznej, Cache::remember()
będzie przechowywać dane również w redis.
Jednak korzystając z Redis Facade, możesz korzystać z wielu metod redis.
Co jest lepsze?
Myślę, że redis
jest lepszy niż filesystem
.
-
Ponieważ
redis
przechowuj dane w pamięci, a system plików przechowuj na dysku.Odczyt danych z pamięci jest szybszy niż dysk. -
Obsługa dane w Redis są łatwiejsze niż system plików. Na przykład Redis obsługuje wyczyszczenie całej pamięci podręcznej dla określonego tagu, ale system plików nie może[Ponieważ system plików przechowuje dane pamięci podręcznej według nazwy zaszyfrowanego klucza].
-
Dla dystrybuowanych serwer, pamięć podręczna systemu plików to zły pomysł. Niższy współczynnik trafień w pamięci podręcznej.
Szczerze mówiąc, można wybrać inne sterowniki, takie jak mongodb
.
Nawiasem mówiąc, mój angielski nie jest zbyt dobry, mam nadzieję, że zrozumiesz.