Пропустить

Как использовать непостоянное WordPress кэш

Divi: самая простая тема WordPress для использования

Divi: Лучшая тема WordPress всех времен!

Более Загрузка 600.000, Divi - самая популярная тема WordPress в мире. Он является полным, простым в использовании и поставляется с более чем бесплатными шаблонами 62. [Рекомендуется]

Существуют различные способы сделать ваш сайт более эффективным: специализированные плагины позволяют кэшировать страницы для статического содержимого HTML, другие позволяют кэшировать все запросы SQL и объекты данных, и, наконец, некоторые Позволяет минимизировать файлы JavaScript и CSS и даже решения на стороне сервера.

мизансцены прятки на WordPress

Но даже если вы используете эти плагины, использование внутренних методов кэширования для объектов и результатов базы данных будет хорошей практикой разработки, поскольку ваш плагин не зависит от решения кеша, решение которого имеет конечного пользователя. Ваш плагин должен быть быстрым сам по себе, и не должен полагаться на другие плагины для выполнения грязной работы. И если вы думаете, что должны написать свой собственный код управления кешем, вы ошибаетесь. WordPress поставляется со всем необходимым для быстрой реализации различного кэширования данных. Вам просто нужно определить части вашего кода, которые получат выгоду от оптимизации, и соответственно выбрать тип кэширования.

WordPress реализует два разных метода кеширования:

не постоянны

Данные остаются в кеше, пока страница загружается. (WordPress использует его для кэширования большинства результатов запроса из базы данных..)

настойчивый

Начните продвигать свой блог

Загрузите десятки логотипов, баннеров, шаблонов веб-сайтов и многих других маркетинговых инструментов для продвижения вашего блога WordPress. [Рекомендуется]

Это зависит от того, как работает база данных, и кэшированные данные могут самоуничтожиться через определенное время. (WordPress использует его для кэширования RSS-каналов, обновлений и т. Д.).

В этом уроке мы рассмотрим только непостоянный кеш.

Как настроить непостоянный кеш "Непостоянный"

Когда вы используете такие функции, как " get_posts () "Или" get_post_meta () WordPress сначала проверяет, кэшируются ли нужные вам данные. Если так, то вы получите данные из кеша; в противном случае запрос к базе данных будет выполнен для получения этих данных. Как только данные получены, они также будут кэшированы. Непостоянный кеш рекомендуется для результатов базы данных, которые могут быть повторно использованы при создании страницы.

Внутренний непостоянный кеш-код WordPress находится в файле " cache.php В каталоге "wp-includes", и он управляется классом " WP_Object_Cache ». Нам нужно использовать две основные функции: wp_cache_set () "И" wp_cache_get () В то же время, как дополнительные функции " wp_cache_add () "," wp_cache_replace () "," wp_cache_flush () "И" wp_cache_delete () ». Кэшированное хранилище организовано в группы, каждая запись которых требует своего уникального ключа. Чтобы избежать смешивания данных WordPress по умолчанию, рекомендуется использовать уникальные имена.

Примеры

Для этого примера мы создадим функцию с именем "d4p_get_all_post_meta ()", которая позволяет получать все метаданные, связанные со статьей. Эта первая версия не содержит кеширования.

Легко создайте свой сайт с Elementor

Elementor позволяет легко создать любой дизайн сайта с профессиональным дизайном. Прекратите платить дорого за то, что вы можете сделать сами. [Free]

Функция d4p_get_all_post_meta ($ post_id) {глобальный $ wpdb; $ = Массив данных (); $ сырье = $ wpdb -> get_results ( "SELECT meta_key, meta_value ОТ $ wpdb-> ГДЕ PostMeta post_id = $ post_id" ARRAY_A); Еогеасп ($ сырыми , как $ строки) {$ данных [$ строки [ 'meta_key']] [] = $ строки [ 'meta_value']; } Возвращение $ данных; }

Каждый раз, когда вы вызываете эту функцию для одной и той же статьи, будет выполняться SQL-запрос. Вот модифицированная функция, которая использует непостоянный кеш WordPress:

function d4p_get_all_post_meta($post_id) {
    global $wpdb;

    if ( ! $data = wp_cache_get( $post_id, 'd4p_post_meta' ) ) {
        $data = array();
        $raw = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id", ARRAY_A );

        foreach ( $raw as $row ) {
            $data[$row['meta_key']][] = $row['meta_value'];
        }

        wp_cache_add( $post_id, $data, 'd4p_post_meta' );
    }

    return $data;
}

Здесь мы используем кеш-группу с именем " d4p_post_meta "И" post_id ", который является ключом. С помощью этой функции мы проверим, нужны ли нам все данные в памяти. В противном случае мы выполняем обычный код для получения данных и затем добавляем их в кэш в строке 13. Таким образом, если вы вызываете эту функцию более одного раза, только первый из них выполнит SQL-запрос. Все остальные вызовы будут извлекать данные кеша. Мы используем здесь функцию " wp_cache_add Если комбинация «группа ключей» уже существует, она не будет заменена. Сравните это с " wp_cache_set Который всегда заменит существующее значение без проверки.

Как видите, мы только что внесли небольшое изменение в существующий код, но потенциально сохранили много обращений к базе данных, что потенциально ускоряет загрузку.

Важные замечания

Непостоянный кэш доступен только во время загрузки текущей страницы; когда последующие загрузки страницы, он будет снова пуст.

Размер хранилища ограничен общей доступной памятью на PHP, выделенной сервером. Не храните большой набор данных, иначе вы можете получить сообщение «недостаточно памяти».

Использование этого типа кэша имеет смысл только для повторных операций более одного раза при создании страницы.

Вы ищете лучшие темы и плагины WordPress?

Загрузите лучшие плагины и темы WordPress на Envato и легко создайте свой сайт. Уже больше, чем 49.720.000. [ЭКСКЛЮЗИВ]

Он работает с WordPress, начиная с выпуска 2.0.

Вот именно для этого урока. Я надеюсь, что это позволит вам лучше кэшировать свой блог.

Эта статья содержит комментарии 0

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

Этот сайт использует Akismet для уменьшения нежелательности. Узнайте больше о том, как используются ваши комментарии.

Вверх
7 акции
доля4
чирикать
Регистрация3