Предисловие:
Во время разработки MooPHP, чтобы найти более эффективный метод кэширования, были протестированы два наиболее часто используемых метода кэширования.
Распространенные методы кэширования в PHP:
Первый — обработать данные, которые необходимо кэшировать, и сформировать файл, который может быть непосредственно выполнен PHP. Когда вам нужно кэшировать данные, введите их через include и используйте.
Во-вторых, сериализуйте необходимые данные с помощью функции сериализации и сохраните их непосредственно в файл. Когда вам нужно использовать кэшированные данные, прочитайте содержимое файла посредством десериализации и скопируйте его в необходимые переменные, а затем используйте.
Результаты испытаний:
В ходе тестирования мы обнаружили, что второй способ кэширования данных посредством сериализации более эффективен. (Данные опущены, а в конце указан адрес статьи для скачивания, чтобы вы могли проверить самостоятельно)
Анализ причин:
При чтении кеша в режиме включения PHP необходимо выполнить несколько процессов.
1. Прочтите файл
2. Разобрать включенные файлы
3. Выполнение при присвоении значения переменной
и чтении кеша с помощью сериализации:
1.Чтение данных
2. Десериализация содержимого данных
3. Присвойте значения переменным
. Из приведенного выше сравнения может оказаться, что время, необходимое для анализа массива в файле PHP, превышает время, необходимое для десериализации массива. Если вам интересно, вы можете проверить «Исследование эффективности производительности функций, связанных с файловой системой PHP, и включить требование»: http://www.ccvita.com/163.html
Код тестового файла:
Адрес загрузки: MooPHP-CacheTest.zip.
Исходный адрес: http://www.ccvita.com/311.html Здесь будут обновляться новые результаты исследований.
CacheTest_IncludeFile.php
Сводный анализ
CacheTest_SerializeFile.php
:
Первое, преимущество включения кэширования: повышается конфиденциальность и безопасность данных, а кэшированный контент не будет обнаружен внешним миром.
Недостатки: Относительно медленный.
Цель: сохранить данные, доступ к которым запрещен за пределами системы, например настройки веб-системы или даже информацию MySQL. Во-вторых, преимущество метода сериализации кэша заключается в том, что он быстрее.
Недостатки: если путь к системному файлу кэша открыт, содержимое кэша будет утеряно.
Назначение: этот метод можно использовать при кэшировании последних статей, связанных статей и т. д., когда вы не беспокоитесь о данных, полученных извне.
Примечание:
Когда установлены кеши памяти PHP, такие как ea и apc, первый метод чтения кеша через include будет быстрее, чем второй метод сериализации кеша. Поэтому в рамках MooPHP мы кэшируем неконфиденциальную информацию вторым способом; конфиденциальная информация кэшируется первым способом; Для ознакомления с MooPHP обратитесь к статье «Введение в MooPHP Framework» (адрес: http://www.ccvita.com/295.html ).