Comprender la memorización en caché con la API transitoria de WordPress

El rendimiento de la computadora gira en gran medida en torno a la idea de caché: “almacenar algo en un estado listo y más rápido para acceder”, para que pueda entregar el resultado final. La API transitoria de WordPress es una herramienta de almacenamiento de caché y una forma importante de mejorar el rendimiento en WordPress. Para tomar un ejemplo real: el armario de la cocina es una especie de caché. Tiene cajas de sopa “caché” en el armario, listas para la entrega rápida a la estufa, lo que significa que no tiene que conducir al supermercado cada vez que desea sopa.
Por qué utilizar los transitorios de WordPress para el almacenamiento en caché en un contexto de WordPress, la memorización de caché con mayor frecuencia significa almacenamiento en caché “página completa”: almacenar una página web completa justo antes de ser enviado a un visitante, de modo que el próximo visitante a quien le pedirá a esa página Recibirá la versión almacenada sin que el servidor tenga que reconstruirla. Este es el enfoque de muchos complementos de caché, como WP Super Cache. En algunas situaciones, esto es ideal y puede tener un gran impacto en la velocidad del sitio.
Puede mejorar el rendimiento memorizando cosas que no sean páginas completas en caché, como servidores remotos lentos, como Facebook o consultas de bases de datos grandes.
Sin embargo, también existe la idea de la memoria caché “parcial” o “objeto”: obtener ganancias de rendimiento almacenando cosas que no sean páginas completas, como cálculos a largo plazo, resultados lentos de servidores remotos (como resultados de Facebook o Twitter) , o grandes interrogatorios de bases de datos que probablemente sean lentos y muy consistentes en los resultados que producen. En WordPress, cómo “memorizar parcialmente” las páginas, cuántos objeto de datos, es la API transitoria.
Comprender los transitorios de WordPress de la API de WordPress API crean su propia interfaz de uso fácil de usar, para diferentes medios y métodos de almacenamiento de datos en un entorno de servidor dado para que los desarrolladores de WordPress no tengan que ser requeridos para preocuparse demasiado por los detalles de los detalles de los detalles de los detalles de los detalles de los detalles de los detalles. Ese entorno.
Con los transitorios, queremos poder nombrar y almacenar un dato y recuperarlos rápidamente. Esta llamada “tienda clave valiosa” es exactamente lo que permiten los sistemas de caché en la memoria. Memcached (memcached.org) es uno de estos sistemas: una forma muy rápida, simple y potente de almacenar bloques de datos y recuperarlos más tarde. Sin embargo, los sistemas Memcached y similares no están disponibles en todas partes, de hecho, ni siquiera en la mayoría de los servidores de WordPress.
La API de transitorios permite a los desarrolladores memorizar los datos en el caché como si Memcached o un sistema de almacenamiento clave similar estaría disponible, ya sea o no. Por lo tanto, la API transitoria de WordPress permite a los programadores memorizar los datos exactamente como lo harían si estuvieran disponibles en Memcached o un almacenamiento clave similar, sin tener que preocuparse si realmente es. Estado en la memoria y el almacenamiento en la base de datos como una nota sobre cómo La API transitoria en realidad funciona: cuando Memcached u otro almacenamiento de caché no están disponibles, WordPress almacena caché en la tabla de opciones base de datos ordinarios. Esto permite que WordPress proporcione la misma funcionalidad que un caché en la memoria, aunque, desafortunadamente, algo más lento, porque los objetos se almacenan en caché en la base de datos MySQL, y no en la memoria del servidor donde es más fácil de acceder.
Los transitorios deben ser transeúntes -by! Estos “cachés” o “transitorios” no están destinados a ser permanentes. (Los datos permanentes deben existir en las opciones de API; consulte las opciones de API en WordPress).
Cuando memorizamos los datos en caché, queremos establecer un tiempo de vencimiento definido para esos datos, entonces simplemente desaparecerá.
Cómo usar la API transitoria API La WordPress transitoria es bastante simple: primero almacene un par de valor, luego recuperarlo.
set_ransient () Así es como la configuración de un transitorio: $ String = “¡Cache Me por un día!”; $ bool_response = set_ransient (‘wpshout_cache_me’, $ string, 86400);
Veamos los tres argumentos de set_transient ()::
El nombre del transitionador, en este caso wpshout_cache_me. El valor de la transición. En este caso, este es el valor de $ String: la cadena “¡Estás en el caché por un día!”
La longitud para la cual persistirá este transitorio. Este argumento dura un número completo de segundos, en este caso 86400.
El resultado final es que wpshout_cache_me persistirá con un valor “¡Estás en el caché por un día!” Durante 86,400 segundos, eso es durante todo un día.
get_ransient () Tomar un transitorio para usar se ve así: $ transient_string = get_transient (‘wpshout_cache_me’); if (false === $ transient_string) {return; // En la vida real queremos set_ransient () aquí} echo ‘

‘. $ Transient_String. ‘

‘;
Aquí, usamos get_transient (), con el nombre de la transición (wpshout_cache_me) como el único parámetro, para hacerse cargo de la transición si existe.
¡Cuídate! get_ransient () devolverá falso si la transición no existe. Por lo tanto, es muy importante probar la existencia del transitorio antes de usarlo. Esto hace nuestra declaración IF. En el código real, la falta de un transitorio sería nuestra excusa para establecer () nuevamente, pero omití eso aquí. Si he tomado con éxito la transición, puede hacer cualquier cosa con ella. En este caso, lo imprimimos, envuelto en una etiqueta

. ¡Eso es todo! Hay otras cuatro funciones: delete_transient (), que elimina manualmente el caché y tres funciones alternativas para usar en WordPress multisitio. Pero aquí hay mucho para ponerlo en funcionamiento, como está, “en funcionamiento” con los transitorios.
Un ejemplo: diversión con transitorios para ver cómo funcionan los transitorios, en un ejemplo con derechos completos llamado “Matemáticas duras WPShout”. Cómo funciona nuestro producto finito es una demostración de objetos: le dice al servidor en caché: hacer millones de cálculos complejos y luego Memorice los resultados durante diez segundos. Entonces, cada diez segundos, el sitio es dolorosamente lento, ¡pero en los segundos es rápido! Eso significa caché en el trabajo.
(Nota: dado que afecta intencionalmente el rendimiento del sitio con fines demostrativos, este no es un complemento que querrá implementar en sus propios sitios o en alguien que desea mantener en buenas condiciones).
El resultado seis segundos después del minuto. ¡Cargar esta página duró unos diez segundos!

El mismo resultado, doce segundos después del minuto. Esta página se ha cargado rápidamente.
El resultado veinte segundos después del minuto. Esta página se ha cargado muy lentamente nuevamente.
El código que estamos a punto de mostrarle un archivo de complemento completo en piezas. Cada pieza viene inmediatamente después de la anterior, por lo que si los copia y pega todos, tendrá un complemento funcional, pero estúpido que no debe implementarse.

Esta primera sección realiza una gran cantidad de cálculos y devuelve una matriz con dos elementos: el valor de entrada antes de los cálculos y el valor de salida después de ellos:

<? Php / * Nombre del complemento: WPShout Cache Hard Math * / Function WPShout_Do_Hard_Math ($ int) {// $ Start es el entero inicial $ start = $ int; // Cálculo de procesamiento increíblemente intensivo $ i = 0; While ($ i <100000) {$ int = pow (sqrt (sqrt (sqrt (sqrt ($ int))), 16.0001); $ i ++; } // devuelve nuestra matriz: con qué comenzamos y lo que resultó en matriz ($ inicio, $ int); } Esta siguiente sección intenta obtener la transición, que es el resultado wpshout_do_hard_math (). Si encuentra que no hay transitorio, intentará establecer los transitorios y luego obtenerlo. Luego devuelva la transición o falsa si la obtención de la transición falló:

Function wpshout_get_hard_math_transient () {// Obtenga el transitorio $ resultado = get_transient (‘hard_math’); if (false! == $ resultado) {// transitoria existe, para devolverlo devolver $ resultado; } // Obtener una matriz de hacer “matemáticas duras” (en segundo lugar transcurrido en las actas actuales) $ mathed = wpshout_do_hard_math (datos (s ‘)); // Intenta establecer transitorios con resultados de matriz; El tiempo de espera es de 10 segundos $ bool_response = set_transient (‘hard_math’, $ mathed, 10); if (false === $ bool_response) {// configurar el transitorio no funcionó, por lo que devuelve falso para la falla return false; } // transitorio ahora está configurado, así que obténlo y devuélvalo return get_transient (‘hard_math’); }
Esta sección intenta recuperar los transitorios. Si tiene éxito, se conecta a The_Content para imprimir una cadena que contenga los cálculos transitorios en la parte superior del contenido de publicación: función wpshout_filter_content_with_hard_math_transient ($ content) {// Obtenga el transitorio $ resultado = wpShout_get_hard_math_transient (); // Si transitorio no es una matriz, simplemente devuelva el contenido sin enchufar if (! is_array ($ result)) {return $ content; } // Prependiendo la cadena con datos transitorios al contenido y devolverlo devuelve ‘
( Dije las matemáticas terriblemente ineficientes en el número’. Ltrim ($ 0], ‘0’). ‘, Y el resultado fue: ‘. $ resultado [1].’ )
‘. $ contenido; } Add_filter (‘the_content’, ‘wpshout_filter_conent_with_hard_math_math_transient); Si no, no se preocupe demasiado por la especificidad: solo intente absorber los usos básicos de get_transient () y set_transient () que este ejemplo existe para mostrar.
Un ejemplo de caso más práctico de uso para transitorios Si encuentra problemas al imaginar cómo los transitorios podrían beneficiar a un sitio (en lugar de prácticamente inutilizable), enviaremos un enlace a un ejemplo muy agradable del mundo de la memoria real de la memoria real de un menú de navegación, que Incluye el uso de delete_transient () para caché invalidar cuando se cambia el menú de navegación: https://leaves-and-love.net/blog/transients-wor-wordpress- theme/.
En general, a partir de nuestra experiencia, los transitorios son un tema que aparece con mayor frecuencia en el desarrollo de complementos, donde la carga de hacer las cosas rápidas está en usted.Entonces, por ejemplo, si escribe un widget de Feed Twitter, los transitorios son una gran idea para asegurarse de que el sitio no tome cada carga de página.Sin embargo, si solo usa complementos, generalmente es bueno ir con las elecciones iniciales de los desarrolladores, y la necesidad de crear nuevos elementos transitorios no aparece muy a menudo. Lo que aprendimos sobre los transitorios de WordPress, aprendí cómo y por qué usar elementos transitorios en WordPress y yo entramos en las profundidades en una profundidad en un ejemplo que los muestra en el trabajo.Estamos mucho mejor equipados para almacenar operaciones costosas en WordPress, y nuestros sitios serán más rápido para ello.¡Más lejos!
Imagen de crédito: anarchosyn

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *