2.0 KiB
Pamięć podręczna stron
Pamięć podręczna stron odnosi się do zapisu zawartości całej strony po stronie serwera. Kiedy zostanie ona ponownie wywołana, zawartość zostanie wyświetlona od razu z pamięci podręcznej zamiast generować ją ponownie od podstaw.
Pamięć podręczna stron jest obsługiwana przez yii\filters\PageCache, filtr akcji. Poniżej znajdziesz przykładowy sposób użycia w klasie kontrolera:
public function behaviors()
{
return [
[
'class' => 'yii\filters\PageCache',
'only' => ['index'],
'duration' => 60,
'variations' => [
\Yii::$app->language,
],
'dependency' => [
'class' => 'yii\caching\DbDependency',
'sql' => 'SELECT COUNT(*) FROM post',
],
],
];
}
W powyższym przykładzie kod zakłada użycie pamięci tylko dla akcji index
- zawartość strony powinna zostać zapisana na maksymalnie
60 sekund i powinna różnić się w zależności od wybranego w aplikacji języka. Dodatkowo, jeśli całkowita liczba postów w bazie danych ulegnie zmianie,
zawartość pamięci powinna natychmiast stracić ważność i zostać pobrana ponownie.
Jak widać, pamięć podręczna stron jest bardzo podobna do pamięci podręcznej fragmentów. W obu przypadkach można
użyć opcji takich jak duration
(czas ważności), dependencies
(zależności), variations
(warianty) oraz enabled
(flaga aktywowania).
Główną różnicą tych dwóch przypadków jest to, że pamięć podręczna stron jest implemetowana jako filtr akcji, a
pamięć podręczna fragmentów jako widżet.
Oczywiście nic nie stoi na przeszkodzie, aby używać pamięci podręcznej fragmentów jak i zawartości dynamicznej w połączeniu z pamięcią podręczną stron.