Cómo almacenar en memoria caché json con caché super gt

En un nuevo proyecto estamos utilizando caché súper wp (plugin preferido del cliente) para crear los archivos html estático de tipos de contenido personalizados. Pero estamos tratando de averiguar si todo está siendo caché correctamente. Esta es una pregunta 2 parte.

1) El tema que hemos creado utiliza las plantillas de página para salida de json que se ingiere vía llamadas ajax. es decir.

Si le das a la página: theurl.com/sample usted conseguirá puro json. Aunque existe una versión sin javascript de cada página y correos, Ajax conduce el extremo delantero de este tema.

Hemos quitado el encabezado y el pie en estos archivos para que es json puro, y estamos tratando de averiguar cómo determinar si el json se se almacena en caché. En teoría los datos se almacenará en caché porque es técnicamente una página servida por wordpress.

Pero, ¿cómo podemos averiguamos si se cachea. 2) Estamos utilizando el plugin api json para servir ciertos datos post así.

http://wordpress.org/extend/plugins/json-api/ En este ejemplo, supongamos que estamos utilizando el método por defecto del plugin de salida y golpear a esta página: mi url.com/category/news?json=1 ¿alguien sabe cómo podemos verificar si esta salida se almacena en caché? Si no está en la caché, ¿qué método sería que suceda? No parece haber mucha información sobre esto en Internet, en el espíritu de crear convincentes y optimizado sitios wordpress, ayudar a un hermano.


Solución 1

Parece que el json no ser cacheado por wp super escondrijo, pero decidimos dar un enfoque diferente. Mediante el uso de la transient api, Hemos sido capaces de hacer una imitación caché en json todos y reducir drásticamente los impuestos de la base de datos. Luego en el lado de ajax de cosas, estamos caché el html creado a partir de este json semi en caché.

Las cosas son súper rápidas! Aquí es una escala versión del código y el concepto.
    $transient_key = 'my-transient-key'; 
    $data = get_transient( $transient_key ); 

    if ( $data == '' ) { 
      $args = array(

    'post_type' => 'brand', 
    'posts_per_page' => 50

  );

  $postsArray = array();  
  // The Query
 query_posts( $args );

  // The Loop
  while ( have_posts() ) : the_post();

    $brand_id = get_the_ID();
    $slug = basename(get_permalink());
    $title = get_the_title();
    $description = get_the_content();

                $posts = array(

                   'brand_id' => $brand_id,
                   'machine_name' => $slug,
                              'postTitle' => $title,
                   'description' => $description,

                   );

    array_push($postsArray,$posts);


  endwhile;

   $data = json_encode($postsArray);


 set_transient( $transient_key, $data, 60 * 60 * 24 ); // one day
 }  // now all the brand information is cached as one table call.

echo $data;
    $transient_key = 'my-transient-key'; 
    $data = get_transient( $transient_key ); 

    if ( $data == '' ) { 
      $args = array(

    'post_type' => 'brand', 
    'posts_per_page' => 50

  );

  $postsArray = array();  
  // The Query
 query_posts( $args );

  // The Loop
  while ( have_posts() ) : the_post();

    $brand_id = get_the_ID();
    $slug = basename(get_permalink());
    $title = get_the_title();
    $description = get_the_content();

                $posts = array(

                   'brand_id' => $brand_id,
                   'machine_name' => $slug,
                              'postTitle' => $title,
                   'description' => $description,

                   );

    array_push($postsArray,$posts);


  endwhile;

   $data = json_encode($postsArray);


 set_transient( $transient_key, $data, 60 * 60 * 24 ); // one day
 }  // now all the brand information is cached as one table call.

echo $data;
.

Solución 2

WP Super Cache examina páginas de su sitio de WordPress para algunas etiquetas HTML antes de que los almacena en caché. Las páginas más probablemente no tengan
</html>
Tag (tema común), en ese caso, trate de añadir algo como
//</html>
es una solución, y WP Super Cache entonces debería generar versiones en caché de las páginas. ¿Por qué lo hace WP Super Cache así? Mira, no hay ninguna manera obvia para comprobar si una página es sólo la mitad cargado, que to comprobar si todas las etiquetas HTML básicas existen y se cierran correctamente.

En Donncha (desarrollador de WP Super Cache) own words, 'Es para parar medio generadas páginas se almacenan en caché'..




Problemas relacionados

WP Super Cache Bug con Ubermenu

Desactivar caché de WordPress mediante programación en una petición

WP Super Cache versus W3 Total Cache

Quitar Plugin Super Cache

¿Cuántas consultas SQL WP Super Cache hacen servir la página en caché?

WP super escondrijo excluir el archivo de caché

Memoria caché del navegador WordPress con W3 Total Cache no muestra nuevos posts

¿Cómo dejar de almacenamiento en caché de div particular cuando estoy usando w3 total cache plugin?

¿Cómo saber si una acción admin wp editado un archivo?

Página HTML estática caché para gran sitio web

Lighttpd, almacenamiento en caché de WordPress plugin

¿Archivo que debo editar para definir una constante de WP Super Cache?

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact