Пропустить

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

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

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

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

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

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

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

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

не постоянны

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

настойчивый

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

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

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

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

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

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

Как настроить непостоянный кэш «Непостоянный»,

Когда вы используете такие функции, как " 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 ()», которая позволяет извлекать все метаданные, связанные со статьей. Эта первая версия не содержит кеширования.

Функция 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, выделенной сервером. Не храните большой набор данных, иначе вы можете получить сообщение «из памяти».

Легко создать свой интернет-магазин

Скачайте бесплатные WooCommerce, лучшие плагины для электронной коммерции, чтобы продавать физические и цифровые продукты на WordPress. [Рекомендуемые]

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

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

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

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

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

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

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

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