Ir para o conteúdo principal

Como usar o WordPress de cache não persistente

Divi: o tema WordPress mais fácil de usar

Divi: O melhor tema WordPress de todos os tempos!

mais Downloads 600.000Divi é o tema WordPress mais popular do mundo. É completo, fácil de usar e vem com mais de modelos livres 62. [Recomendado]

Existem diferentes maneiras de tornar seu site mais eficiente: plugins especializados permitem armazenar em cache páginas para conteúdo HTML estático, outros permitem armazenar em cache todas as consultas SQL e objetos de dados e, finalmente, alguns permitem minimizar os arquivos JavaScript e CSS e até mesmo as soluções do lado do servidor.

mise-en-hide-on-wordpress

Mas mesmo se você usar esses plugins, usar métodos internos de cache para objetos e resultados de banco de dados será uma boa prática de desenvolvimento, pois o seu plugin não depende da solução de cache da qual tem o usuário final. Seu plugin deve ser rápido e não deve depender de outros plugins para fazer o trabalho sujo. E se você acha que precisa escrever seu próprio código de cache, está errado. WordPress vem com tudo que você precisa para implementar rapidamente vários caches de dados. Você só precisa identificar as partes do seu código que serão beneficiadas pela otimização e escolher um tipo de cache de acordo.

O WordPress implementa dois métodos diferentes de armazenamento em cache:

não persistente

Os dados permanecem no cache enquanto a página é carregada. (O WordPress o usa para armazenar em cache a maioria dos resultados da consulta do banco de dados.)

Persistente

Crie facilmente seu site com Elementor

Elementor permite criar facilmente qualquer design de site com uma aparência profissional. Pare de pagar caro pelo que você pode fazer. [Grátis]

Depende de como o banco de dados funciona e os dados em cache podem expirar automaticamente após algum tempo. (WordPress usa para armazenar em cache feeds RSS, atualizações, etc.).

Neste tutorial, consideraremos apenas o cache não persistente.

Você está procurando os melhores temas e plugins para WordPress?

Baixe os melhores plugins e temas do WordPress no Envato e crie facilmente seu site. Já são mais de 49.720.000 downloads. [EXCLUSIVO]

Como configurar o cache não persistente "Não Persistente"

Quando você usa funções como " get_posts () »Ou« get_post_meta () O WordPress primeiro verifica se os dados que você precisa estão armazenados em cache. Em caso afirmativo, você obterá dados do cache; caso contrário, uma consulta de banco de dados será executada para obter esses dados. Depois que os dados forem recuperados, eles também serão armazenados em cache. Um cache não persistente é recomendado para resultados de banco de dados que podem ser reutilizados durante a criação de uma página.

O código de cache interno não persistente do WordPress está localizado no arquivo " cache.php No diretório "wp-includes", e é gerenciado pela classe " WP_Object_Cache ". Precisamos usar duas funções básicas: " wp_cache_set () "E" wp_cache_get () Ao mesmo tempo que as funções adicionais " wp_cache_add () "" wp_cache_replace () "" wp_cache_flush () "E" wp_cache_delete () ". O armazenamento em cache é organizado em grupos, cada um dos quais precisa de entrada para sua chave exclusiva. Para evitar misturar os dados padrão do WordPress, use nomes exclusivos é uma prática recomendada.

exemplos

Para este exemplo, criaremos uma função chamada "d4p_get_all_post_meta ()", que permite recuperar todos os metadados associados a um artigo. Esta primeira versão não contém armazenamento em cache.

função d4p_get_all_post_meta ($ post_id) {$ wpdb global; $ Dados = matriz (); $ matérias-= $ wpdb -> get_results ( "SELECT meta_key, meta_value DE $ wpdb-> WHERE postmeta post_id = $ post_id" ARRAY_A); foreach ($ cru como fileira $) {$ dados [$ fileira [ 'meta_key']] [] = $ linha [ 'meta_value']; } Return $ dados; }

Cada vez que você chamar essa função para o mesmo artigo, uma consulta SQL será executada. Aqui está a função modificada que usa o cache do WordPress não persistente:

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;
}

Aqui nós usamos um grupo de cache chamado " d4p_post_meta "E" post_id ", que é a chave. Com esta função, vamos verificar se precisamos de todos os dados da memória. Caso contrário, executaremos o código normal para obter dados e, em seguida, adicioná-lo ao cache na linha 13. Portanto, se você chamar essa função mais de uma vez, apenas a primeira executará uma consulta SQL. Todas as outras chamadas recuperarão os dados do cache. Nós usamos aqui a função " wp_cache_add Se a combinação "grupo-chave" já existir, ela não será substituída. Compare isso com " wp_cache_set Que sempre substituirá um valor existente sem verificar.

Como você pode ver, acabamos de fazer uma pequena alteração no código existente, mas potencialmente economizamos muitas chamadas para o banco de dados, o que potencialmente torna o carregamento mais rápido.

Notas importantes

O cache não persistente está disponível apenas durante o carregamento da página atual; uma vez que os próximos carregamento da página, será novamente vazia.

O tamanho do armazenamento é limitado pelo total de memória disponível no PHP alocado pelo servidor. Não armazene um grande conjunto de dados, ou você pode acabar com uma mensagem de "memória insuficiente".

Crie facilmente sua loja on-line

Faça o download gratuito do WooCommerce, os melhores plugins de comércio eletrônico para vender seus produtos físicos e digitais no WordPress. [Recomendado]

O uso desse tipo de cache só faz sentido para operações repetidas mais de uma vez durante a criação da página.

Ele funciona com WordPress desde o lançamento 2.0.

É isso para este tutorial. Espero que isso permita que você armazene melhor o seu blog.

Este artigo contém comentários 0

Deixe um comentário

Seu endereço de email não será publicado. Os campos obrigatórios são indicados com *

Este site usa o Akismet para reduzir o spam. Saiba mais sobre como seus dados de feedback são usados.

De volta ao topo
5 ações
ação2
chilrear
Enregistrer3