 Empezamos esta charla, a cargo de Eric Seydan, yo pronuncié bien, su charla se llama esa magia que llaman caché, magia no sé, pero probamos que hay que saber de caché, sí. Bueno Eric es desarrollador senior en la Universidad de La Rioja y es un fan de WordPress programado de pequeño en BASIC y CPV, ha pasado por empresas como Esperais, BAS Digital y Captural, donde han desarrollado proyectos web de toda índole en todos los aspectos, desde webs, de parques de entretenimiento, hasta web de seguro, y bancas más importantes de España, sin más les dejo con Eric, gracias. Bueno les he hablado un poco de caché, pero de la caché de WordPress y de los que es la caché, ahí tenéis mi Twitter por si luego queréis escribirme, preguntarme un poco de todo, realmente lo voy a hacer muy básico porque yo sé que hay mucha gente y me ha pasado, porque tengo muchos clientes y muchas personas que no conocen mucho la caché, y bueno de hecho no sé si es la caché o el caché, realmente el diccionario está en la caché, pero todavía no está definido si se va a decir la caché o el caché, entonces por eso es porque como está la memoria pues se dice que es la caché, entonces bueno vamos primero a lo que es la caché, la caché realmente es un lugar donde se almacena todo, se almacena todo temporalmente y esto se hace en un entorno informático para mejorar la entrada o salida de datos o de procesos, en informática los datos a menudo se almacenan en caché y esto acorda los tiempos de acceso a tanto a los servidores como a nuestros procesadores como al internet, etcétera, etcétera, entonces debido a que toda esta carga de trabajo de la aplicación depende de las operaciones de entrada y salida de todos estos datos el almacenamiento de caché se utiliza para mejorar ese rendimiento, ese tiempo que tarda un ordenador o algo en procesar datos, pero tenemos muchas caché, están caché de navegador, caché de la web, caché de disco, porque inclusive hasta el disco del ordenador tiene un caché, caché de memoria, la memoria que tiene tu ordenador también funciona de caché para que los procesos que haga tu computador sean más rápidos y también hay cachés de servidores, es un mundo donde todo funciona realmente gracias al caché, o sea si no tuviéramos caché imagínate cada vez que un ordenador tenga una petición y no tenga una caché pues tendría que procesar esa petición una y otra vez, una y otra vez, imaginaos que hay un servicio que suma 2 más 2 a 20 millones de personas, si ya sabemos que la respuesta es 4, para qué le vamos a decir al procesador que cada vez que una persona haga esa petición nos procesa esa suma, entonces simplemente lo guardamos en una caché y cada vez que ven una petición, que ya sabemos que 2 más 2 es 4, le lanzamos ese resultado y no tenemos que cargar nuestro ordenador con esa petición, entonces básicamente a eso se refiere a la caché, cómo funciona, en este caso en los navegadores que es lo que más usamos nosotros, los navegadores web como Internet Explorer, ese mejor no usarlo, Firefox, Safari Chrome usan una caché de navegador para mejorar el rendimiento de las páginas web, a las que se accede con frecuencia, cuando se visita una página web, los archivos que el navegador le pide al servidor se almacenan con un cierto tiempo, esto es para evitar que si tú vas adelante y vas atrás pues tenga que volver a pedir los mismos archivos, entonces simplemente se mantiene dentro del caché del navegador, si se hace clic envolver y regresas a la página pues ya vas a tener los archivos ahí guardados en el navegador y puedes recuperar la mayoría de lo que necesita y por eso nuestra página va más rápida, este foque se llama caché de lectura, es el caché donde el navegador lee estos datos y los guarda y luego los tiene que volver a leer desde la página web, entonces ¿por qué digo esto? porque esto es lo más típico que nos pasa a los desarrolladores cuando hacemos un cambio y le decimos a los clientes, mira ya tenemos el cambio en la web, subido al servidor, pero no lo veo, eso es el típico caso de los clientes, entonces bueno esto es lo que se le envía, siempre calm down al cliente de caché, limpia la caché para que puedas ver los cambios, porque siempre tiene un tiempo de guardado y todos esos datos que la caché mantiene, o sea van a estar ahí hasta que tú los vuelve, si nosotros nos vamos a los navegadores a la parte de herramientas y vemos cuántas páginas están guardadas, o sea vamos a tener, podemos llegar hasta 1.2 llegas de tener páginas ahí guardadas que tienen un tiempo determinado, entonces bueno para entenderlo un poco mejor, esto sería más o menos el diagrama de flujo de una memoria de caché de servidor, o sea se hace una petición, el navegador recibe la petición, revisa si la página está en caché y si está en caché inmediatamente la sirve, o sea mirar la velocidad de respuesta que va a tener esto, si no está en caché pasa la petición al próximo para procesar la página, acá también hay un caché que es el caché de servidor, se procesa la petición, si aquí hay un caché, te aprovecho muy corto para explicarlo, si aquí hay un caché pues lleva la caché, ya es otro paso menos, si no procesa el contenido del Wordpress o sea ejecuta PHP, todo lo que tenga que ejecutar, entrega lo que es el proxy y luego es que lo sirve, todo esto además hay que sumarle el tiempo del servidor, o sea si tenemos un hosting que es malo, se imagina todo lo que nos está de aquí son los 7 segundos, 8 segundos que nos va a dar la respuesta a la página, entonces por eso es importante tener una caché, siempre es importante tener caché en el servidor, mejorar las caché en los navegadores y si es posible usar cdn con cosas ya cachadas para que si alguien quiere ver una página en Estados Unidos o en México o algo pues busque la página en el cdn que tenga más cerca para obtener los datos y así es mucho más rápido, hasta ahora vamos bien ¿no? es muy sencillo lo que es la caché, ahora pasamos a los algoritmos de caché, los algoritmos de caché proporcionan instrucciones para cómo mantener la caché, entonces algunos ejemplos de algoritmos incluyen lfu, lru y mru, los lfu son los que dicen que son algoritmos que saben que es lo que con menos frecuencia se usa, entonces se le dan cierto tiempo a esos datos dentro de la caché, los de uso menos reciente lru mantienen los artículos usados recientemente cerca de la parte superior de la memoria de caché y cuando se alcanza el límite de la caché los van eliminando y tenemos los usados más recientemente que eliminan los primeros artículos usados más recientemente y este enfoque es bueno para la situación que probablemente acceder al elemento más antiguo, entonces ya sabemos que existe la caché y ahora sabemos que además es inteligente, o sea tiene algoritmos donde ella maneja qué es lo que necesita, qué es lo que no necesita, dependiendo de lo que nosotros le digamos en las cabeceras de nuestro html y de nuestro WordPress, ella va a saber qué va a desechar primero, qué no va a desechar primero, cómo va a ordenar todos esos datos, entonces ya hay un enfoque más más productivo de cómo nosotros podemos enviar nuestra página, entonces los usos más populares para la caché, servidor de caché es un servidor de red dedicado o un servicio que actúa como servidor que guarda las páginas web u otro contenido de internet localmente, esto se denomina memoria caché proce, la caché de disco que contiene los datos que se han leído recientemente lo que les decía que también los discos para no estar todo el tiempo en revoluciones por usar la caché, tienen una memoria interna donde ellos van votando los datos, buscan primero en la caché y si no los buscan en el disco, tenemos la memoria caché que es la memoria de accesorio de tutorial RAM, casi siempre esto lo vemos en nuestro navegador, nuestros ordenadores, si tenemos una memoria muy baja, pues nuestro ordenador va muy mal, si tenemos cuatro giras y queremos lanzar un programa, nuestro ordenador no va a funcionar, pero es que eso también es caché, es la memoria que necesita el ordenador para funcionar, es exactamente igual que el caché del navegador y tenemos memoria caché flash que son almacenamiento temporal de datos en chip de memoria flash, los que son los nan que a venudo forman almacenamientos de disco en estado sólido, entonces esto nos permite que la solicitud de datos se lleven a cabo con mayor velocidad, por ejemplo la mac usa las memoria de caché flash y también el estado sólido, las pc se van más al disco de revoluciones, por eso es que es más confiable un mac realmente en velocidad y en procesamiento a un pc, claro que eso lo podemos cambiarnos, el pc lo puedes poner almacenamiento desde dedo y también va muy bien, entonces pasamos a lo que nos interesa, huelpre y caché, ¿cómo podemos comenzar a trabajar la caché desde nuestras web? tenemos muchas maneras, tenemos los encabezados del control que se introdujeron desde el http 1.1 y es la implementación más moderna que existe del caché, existen varios valores que se pueden usar dependiendo de cómo queremos que se comporta, con esto que le vamos a decir a los algoritmos cuáles son los datos que nosotros queremos tener o no en el caché, entonces por ejemplo si nosotros en las cabeceras del html queremos decirle mira esta página es un carrito de compras, a ti no te interesa que tu carrito de compras se caché porque si se caché y el tío mete algo en el carrito de compras eso se va a mantener ahí en el navegador por quien sabe cuánto tiempo y si vuelve a los tres días pues le va a salir eso pero es posible que nos entren los datos nuevos, si mete otras dos cosas pues el caché va a pensar que es esa página antigua la que tiene que servir y le va a servir una página con un producto en vez de con los tres que ha metido recientemente, entonces para eso simplemente cabeceras de no caché, en las cabeceras del html le decimos que no caché esa página y no lo hace, después tenemos el nostrum que le dice al navegador que no almacen el caché el contenido en ninguna manera, o sea que le podemos decir mirá no me caché nada de la página, porque con el no caché le podemos todavía implementar ciertos puntos decirle ciertas etapas para que las caché, ya lo vamos a ver después que hay los plugins de warfare, nos pone el código donde nosotros podemos decir inclusive que mira yo quiero que de este código me caché desde la cabecera hasta este sitio y el body no me loca, no le hagas caché y luego me caché es el futero, eso ya es una cuestión más de desarrollo y pero se puede implementar fácilmente, entonces esto es solo base de información porque esto lo hace automáticamente en los plugins de warfare, o sea esto es para que sepáis más o menos que es lo que lo que podemos decir de la caché, entonces public marca el contenido como público lo que significa que puede ser almacenado el caché por el navegador y también por partes intermedias como los próximos, como los servidores de caché y tenemos privado que se usan para marcar contenido privado lo que significa que solo puede ser almacenado por la caché del navegador o por la de tu propio servidor entonces no no deja que intermediarios y de más personas hagan caché por ejemplo google caché a tus páginas aunque no lo sepa google tiene una página guardada de tu página si tú la cambias y vuelves a buscar la página es posible que google te sirva si no hay conexión la página que tiene guardada que puede ser una página antigua que tú ya no usas entonces por eso es bueno decirle a google ok indexame las búsquedas pero no me caché mis páginas porque ellos las almacenan como quieren o sea pueden tenerlas ahí por mucho tiempo entonces bueno tenemos las cabeceras max age donde le decimos qué tiempo es el que queremos que nos haga el caché cabecera de decimal age es lo mismo que el max age pero solo se usa para caché intermedio el de revalidate que obliga al navegador a revalidar el contenido cada vez que lo necesitan por ejemplo un carrito de compra o sea bien lo podemos cachar para que caché ciertos elementos pero le podemos decir mirar estos otros elementos me lo tienes que revalidar cada vez que nos visiten y tienes proxy revalidate que es similar al otro pero se aplica para caché intermedio el caché intermedio es el que va en el servidor está el caché el navegador está el caché servidor y está tu propio caché y no transforma que indica al navegador que no transforma el contenido recibido de ninguna manera generalmente con compresión porque se usa esto usualmente lo mejor para mejorar la velocidad de una página es usar la compresión gzip tú le dice en el htac es mirar hazme compresión gzip de todos los archivos eso vuelve a todo comprimido y lo va a lanzarlo comprimido pero de pronto hay una página que no se debe bien porque esa compresión de cambiar tu serie donde tú le dice mirar no me transformes en esta página usa el gzip pero sólo para ésta es un mundo de cabeceras lo que puedes hacer con el caché entonces cómo simplemente esto simplemente con meter esto este es un ejemplo de un spa yo aquí le estoy diciendo meta htp equivalente de pares menos uno o sea que no no no espira nunca y le estoy poniendo que además no hago un esto o sea realmente ya con eso te hace un caché esto lo hace el navegador o sea este es el que va en el html claro el caché en el servidor y lo sirve al navegador para esto pero este para navegador para el servidor es esto que vendría acá pongo dos ejemplos básicos porque casi lo que más se usa son apache y esto se tenemos en apache yo acá le estoy diciendo por ejemplo que para este tipo de de archivos me coloque un tiempo máximo de 84 mil 600 según y esto mismo en engines es muy diferente porque en otro tipo de procesamiento entonces le estoy diciendo lo mismo pero acá le estoy diciendo que lo hará en 365 días o sea que ahí más o menos vemos cómo lo podemos hacer tanto el servidor como directamente en el html que se va al navegador entonces si vamos más allá podemos colocar encabezados de respuesta directamente en el código o por ejemplo con el php podemos hacer lo mismo el otro ejemplo era con html con php también podemos decirle mira en el gd lo colocame que no la caché que ha dado un spider ese es el el time la primera fecha del del time time entonces si le pones esa fecha pues él va a cachar a lo que él quiera caché control le dice que el max age 604 800 segundos y así podemos ir agregando cabeceras a nuestro código que html que son las que va a tomar el servidor para hacer el muy importante almacenamiento en el caché de la página almacenamiento de caché de consulta y almacenamiento de caché basado en objetos ok esto es lo que tiene work es además adicional con el que podemos ayudar cuando somos desarrolladores para mejorar la velocidad de una página se aporta que tiene sistemas internos de almacenamiento caché que incluyen varios sistemas es decir la pide almacenamiento la memoria caché de objetos y la pide transience esto seguro no lo debes haber escuchado nunca bueno yo sé que por aquí se van a escuchar el núcleo de web permite que los complementos se controlen este sistema de almacenamiento caché para reducir el número de llamadas de la base de datos muy importante casi nadie lo usa y realmente son una herramienta maravillosa esto lo que le dice es a work es que guarde una opción por un cierto tiempo como tú guardas una opción de work es usualmente set option usuario igual a tal pues aquí con esta p yo le digo mira guardame eso mismo pero por este tiempo entonces de qué no sirve eso si nosotros tenemos en el código que hacemos llamadas a pi a pi res o hacemos llamada a un servicio rcs donde nos traemos datos para evitar tener que hacer esa llamada cada rato y resulta que son datos que están fijos en el tiempo simplemente lo guardamos en una pide transience le ponemos un un y antes de hacer toda esa llamada que si ya existe esa transience no lo haga y automáticamente vuelve al tiempo cuando se vuelve el transience vuelve a hacer la llamada y no le tiene que estar haciendo cada rato que cargaba entonces si podéis ver hay mucho mucha información sobre el transience y también deciros a nuestros desarrolladores cuando veis que la página va muy lenta porque está haciendo una llamada una api de otra página está haciendo ya más rcs o está pintando algo usa los transience porque es que los transience evitan eso evita que haya tanto movimiento de procesador de del work y bueno pasamos rápido que ya nos quedan sólo dos minutos a los clubes más usados esto lo saqué porque realmente son los más descargados pero yo creo que voy a hacer una pequeña comparación para para que vosotros veáis cuál podéis usar pero es que hay mucho o sea hay demasiados plugins y si vas más allá hay cachets de reddit que también tiene el plugin hay cachets de varnish que también es plugin hay cachets de men cachet inclusive sideground tiene un servicio de cachet propio donde tienen un plugin de cachet que también podéis usar pero bueno estos son los que tienen más de un millón de instalaciones y hecho bueno estos son los que vamos a comparar tenemos el total cachet y el work super cachet entonces básicamente los dos en popularidad tienen más de un millón de instalaciones en el caso del total cachet además de eso 4,5 estrellas ambos tienen casi perfecto solamente tiene poco fallo el costo este plugin es gratuito pero como es gratuito no tiene soporte o es muy poco de soporte que este plugin tiene una zona pro de pago que tiene además soporte si no sabes mucho pues es mucho mejor y se por acá porque te ayuda si tienes las características diferentes tipos de almacenamiento cachet página objetos base datos navegación fragmentos inclusive minifican los archivos html ss que es muy importante para para mejorar la velocidad de la página y de las base datos igualmente super cachet tiene diferentes formas de almacenamiento de cachet de página tiene mucho ira y que no se perega si compresión por páginas en característica ambos tienen soporte cdn configuración de importación exportación supervisión son muchas las características que tiene cada uno de ellos pero yo creo que todo depende básicamente de cómo quieras trabajar tu página si es una página que no va a tener mucho tráfico yo me iría por el super cachet que es gratuito y además es muy fácil de instalar y de configurar porque también tiene su problema de configuración o sea son siete tabs de de opciones que tienes para configurar que te puede volver loco pero este es peor este tiene casi 13 entonces es mejor la suerte que tiene la opción de pago donde puedes pedir soporte entonces ellos revisan tu página puedes ver cómo te dicen como la cual mejorar cuál es la configuración básica excepta y bueno eso era lo que les quería hablar de cachet empezamos tu no de preguntas recuerde sé que es un tema que interesa mucho cinco minutos alguna pregunta yo estaba desaparendo una página en el bosque y la causa y no como crome hizo una modificación en la imagen y no hay manera de que se borre de que se actualice eso en ese navegador entonces el crome tiene control f5 ese borra la navegación de esa página y también tiene además si tiene también además esto es un ad on que tiene que además tú le puedes decir que quieres que te borre por ejemplo le puedes decir mira borrame solamente lo de los dos últimos días antes o borrame toda la página sí sí no el historial es otra cosa el historial de guarda las mujeres para que las puedas ir visitando los que has visitado y también el cachete guarda partes de la página si en crome las últimas versiones para evitar esto no tiene que estar a las extenciones si abres el inspector botón derecho en la opción de actualizar el botoncito de arriba si lo mantiene expulsado que aparece las opciones de cuántas si quieres porque no trae nada y ve tres opciones de borrado de cachete que te permite el navegador en plan pues borrarlo de todo no sé que ahora abierto que se lo puede tener abajo no si mantiene pulsado el botón de actualizar arriba en el navegador en la barra ahí mantén opusado ve que aparece el último vaciar la cachete y volver a esa resolución calidad me cortó lo bueno del lado es que le puedes decir cuánto quiere esta temorra todo el cachero del lado por lo menos te dice simplemente decir que eso simplemente haciendo botón derecho no tienes que pasar por el inspector si no no no sale yo lo he probado y para cerrar el tema este se está en f5 que recargar la página el controlero el manzana r que es recargar la página vaciar la cachete y luego puedes hacer mayúsculas control r que lo que hace es forzar envía unas cabeceras para forzar y eliminar y pasarse por el forro las cámaras control mayúsculas r se tiene el control r y el control mayúsculas r que lo que hace es forzar lo y en este caso directamente el eliminar y lo podemos hacer o tracharlas de cuántos que no se va a hacer para el forro vamos a seguir a repetizar solamente quería preguntarte tu opinión acerca de cuando por ejemplo en el servidor no tienes instalado un sistema de cachete por defectos el que tú alguna forma elija cuál es tu opinión más cerca de más adecuado al mes cachete o cualquier otro que tú hayas experimentado eso depende si tiene un proyecto que lo maneja un desarrollador yo siempre mira si tienes engines con varnish va a volar o sea eso no tiene lo voy a decir acá pero todas las páginas pornográficas usan en jinx con varnish por eso porque la velocidad de respuesta es impresionante y de hecho el tío que creo en jinx lo creo por eso para hacer negocio con eso entonces si lo crearon para eso que imagínate los videos y todo esto pues esa es la escena pero eso es solamente si tú tienes una base desarrollador bien ahora si lo vas a hacer como usuario simplemente un plugin web preso per cachet tienes el plugin no instala hay mucha información en internet porque no nos no basta sólo el plugin hay que poner opciones en el ht access como que me haga compresión de sí etcétera hay muchos muchos códigos que se encuentran ya de internet que puedes poner y eso mejora mucho la velocidad no son excluyentes siempre me acaché con esa última pregunta y no o sea se usan igual que se usan las opciones crearon transient el nombre la variable que vas a pasar que puede ser inclusive hasta una rey de lo que tú quieras y el tiempo que va a durar ese tránsito entonces claro luego haces un cheque si eso existe y si existe pues no ejecuta todo el código que tienes que aquí aquí lo dejamos muchas gracias a