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: plug-ins especializados permitem que você armazene em cache páginas para conteúdo HTML estático, outras permitem que você armazene em cache todas as consultas SQL e objetos de dados e, finalmente, alguns permitem minimizar arquivos JavaScript e CSS e até soluções do lado do servidor.

mise-en-hide-on-wordpress

Porém, mesmo se você usar esses plug-ins, usar métodos internos de cache para objetos e resultados do banco de dados será uma boa prática de desenvolvimento, pois seu plug-in 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 gerenciamento de cache, está enganado. O WordPress vem com tudo o que você precisa para implementar rapidamente vários caches de dados. Você só precisa identificar as partes do seu código que se beneficiarão da 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 no banco de dados.)

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

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

Persistente

Isso depende de como o banco de dados funciona e os dados em cache podem expirar automaticamente após um certo período de tempo. (O WordPress usa-o para armazenar em cache feeds RSS, atualizações etc.).

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

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. Nesse caso, você obterá dados do cache; caso contrário, uma solicitação ao banco de dados será executada para obter esses dados. Depois que os dados são recuperados, eles também serão armazenados em cache. Um cache não persistente é recomendado para resultados do banco de dados que podem ser reutilizados ao criar 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, sendo que cada entrada precisa de sua chave exclusiva. Para evitar misturar os dados padrão do WordPress, usar nomes exclusivos é uma prática recomendada.

exemplos

Neste 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.

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 por si mesmo. [Grátis]

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

Sempre 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 não persistente do 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;
}

Aqui usamos um grupo de cache chamado " d4p_post_meta "E" post_id ", que é a chave. Com esta função, verificaremos se precisamos de todos os dados na memória. Caso contrário, executamos o código normal para obter dados e depois o adicionamos 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 de chaves" já existir, ela não será substituída. Compare isso com " wp_cache_set O qual sempre substituirá um valor existente sem verificar.

Como você pode ver, acabamos de fazer uma pequena alteração no código existente, mas potencialmente salvamos muitas chamadas no 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 alocada pelo servidor. Não armazene um grande conjunto de dados, ou você pode acabar com uma mensagem "falta de memória".

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

Crie facilmente sua loja online

Baixe gratuitamente o WooCommerce, os melhores plugins de e-commerce para vender seus produtos físicos e digitais no WordPress. [FREE]

Ele funciona com WordPress desde o lançamento 2.0.

É isso neste tutorial. Espero que lhe permita armazenar em cache melhor o seu blog.

Este artigo contém comentários 0

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios estão marcados com *

Este site usa Akismet para reduzir indesejados. Saiba mais sobre como seus dados de comentários são usados.

De volta ao topo
7 ações
ação4
chilrear
Enregistrer3