Кеширане на страниците на данни в PHP

Cache - специален буфер за съхранение с много бърз достъп, включваща данни, които могат да бъдат поискани с най-голяма вероятност.

Какво е кеширане?

За да се оптимизира използването механизъм опазване мрежа получил веднъж за HTTP документи кеширани за повторна употреба, без да се споменават сървъра източник. Документ, който се съхранява в кеш паметта ще бъде на разположение следващия път, когато се влиза, а не изпълнение от първичния сървър. Целта е да се увеличи скоростта на достъп на клиента до него, и да се намали потока на мрежовия трафик.

Към днешна дата, кешовете са два вида - местни и общи.

  • Локално - кеш, който се съхранява на диска на клиента се създава и управлява своя интернет браузър.
  • Общо - този доставчик на кеш прокси сървър, той може да се състои от един или няколко прокси сървъри.

Локален кеш има, най-вероятно във всеки уеб браузър използва общи, най-много хора, които използват интернет. И ако една малка част от сайтовете днес се оценява потока на трафика, скоростта на изтегляне - един много важен критерий, който трябва да се вземат предвид при проектирането на вашия уеб проект.

Ключови принципи за запазване на страници в кеша

прилагане PHP-кеширане да управлявате своите експлоатационни резултати формиране на допълнителни полета в отговор на заглавна HTTP призовават за специални функции Горен ().

Няколко общи твърдения, които не са специфични за PHP-приложения:

  • Страници, които се предават на POST не се съхранява в кеш паметта всякога.
  • Страници, които се изискват за GET и съдържащ параметри (в URL е "?"), Не се запаметяват в кеш паметта, ако не е посочено друго.

В повечето случаи, някои допълнителни инструкции не е нужно да добавите приложението. Основни нюанси, за които е необходимо да се обърне внимание на:

  • забрана на кеша на документи, които са кеширани по подразбиране;
  • кеширане на документи, които не са предмет на кеширането по подразбиране.

Кеширане на страниците на данни в PHP

Забраната за кеша на документи (които са кеширани по подразбиране)

Този проблем възниква, за PHP скриптове, които се наричат ​​без параметри или показатели са указатели, но формират информацията лично от потребителя (например въз основа на потребителския агент или бисквитки), или работят на базата на бързо променящата се информация. Ние HTTP / 1.1 спецификация могат да се справят с тези области:

  1. Изтича - уточнява срока на годност на даден документ. Задаването в миналото определя забраната на кеша на тази страница.
  2. Кеш-контрол: не-кеша - управление на кеша. Стойността на не-кеша определя забрана на кеша на тази страница. За версията на HTTP / 1.0 работи тук "Pragma: не-кеша".
  3. Last-Modified - е датата на последната редакция на определено съдържание. Невярно се използва изключително за статични страници. Apache Това поле замества стойност Дата на поле за страници, динамично генерирани, в частност за страници, които съдържат SSI.

За да забраните кеширането, достатъчно, за да се регистрирате:

За да отбележат документ като "остаряла", е необходимо да се установи изтича равно на полето за дата.

Не трябва да забравяме, че формулярите, които се изискват за длъжността, не могат да бъдат кеширани.

Кеширане с прогнозира актуализиране

Основната цел тук е да получи дата за следващия понеделник като RFC-1123.

Друг подход, който се използва за по-бързо актуализиране на данни и едновременно трафик високо сървър (и в двата случая, кеширане ефективно не ще) е да се използва специална заглавна Cache-контрол: макс възраст = секунди, което определя времето, след което документът се счита за остаряла и с много по-висок приоритет при изчисляването на свежестта на даден документ.

Ако публикувате новини, с интервал от 60 минути:

Изпълнението на кеширане в PHP

Трябва да се създадат две специални файлове. Първият ще бъде за сключване на кеша, а вторият - да се създаде кеша.

Да започнем с първия файл, който се нарича read_cache.php.

В този сценарий, ще получите името на файла и след това проверете дали има кеш, а след това да го отпечатате и довърши работата си, или да отворите буфер, който ще постави всичко на изхода на данните сценария.

Сега се създаде специална write_cache.php файл. Той ще напише към файл, който се е натрупал в буфера.

Сега във всеки PHP-файл, който е отговорен за продукцията, можете да активирате кеширане:

Сега можете да всички проблеми започват да се кешират страниците. Но не забравяйте, толкова дълго, колкото на кеш паметта е жив, той няма да видите никакви актуализации. В тази връзка, направете кеширане в PHP само за тези страници, които са рядко обновяват.