Большая часть кеширования выполняется ключом кеша. Как Cache::put('product-id-43', $product);
. Так что, пока вы можете создать уникальный идентификатор, вы можете его кешировать.
Кэширование всей страницы
Для кеширования по URL и значению повара ie вы можете сделать что-то вроде этого: $key = 'url-'.$_SERVER['REQUEST_URI'].'-'.$_COOKIE['currency']
. Чтобы использовать этот кеш, вам нужно как можно раньше найти в своем коде место, где вы проверяете, кэширован ли этот ключ. Если он просто распечатывает его и завершает работу, если он не генерирует страницу, добавьте ее в кэш и распечатайте содержимое.
Частичное кеширование
Принцип тот же, что и раньше, но вместо того, чтобы кэшировать всю страницу, вы просто кэшируете ее части, а затем комбинируете. Таким образом, в упрощенном виде, предполагая, что верхний и нижний колонтитулы кэшируются echo Cache::get('header') . getCart() . Cache::get('footer')
. Уловка, чтобы сделать это, состоит в том, чтобы найти правильное место, чтобы добавить это. Механизмы шаблонов могут помочь с этим.
Кэширование POST
Это можно сделать так же, как и для всей страницы, просто добавив метод к ключу. Например, $key = 'url-'.$_SERVER['REQUEST_METHOD'].'-'.$_SERVER['REQUEST_URI'].'-'.$_COOKIE['currency']
. С POST дело в том, что они должны что-то менять и поэтому часто не должны кэшироваться. В этом вся проблема кеша, его легко кэшировать, сложно узнать, когда сделать кеш недействительным.
Если вы хотите узнать больше о кешировании, я рекомендую проверить varni sh , Это намного быстрее и намного гибче. Одним из приятных моментов является то, что вы можете добавить больше ключей к объекту, поэтому, если вы пометите все страницы валютой, вы можете запретить все страницы с указанием c валюты, если вы измените обменный курс и т. Д. c. Для частичного кеширования вы можете использовать серверные включения.