Sistema de cachépara optimizar web PHP
누구세요?
El cachées un component que nos permite almacenar en memoria datos previamente procesados,regularmate los sistemas de cachéfunction an como un Hashmaps o diccionario clave valor,en dónde la clave es una cadena de texto que function a como identificador y El valor puede contener casi cualquier cosa.
일반적으로 el concepto de caché se traduce a lo siguiente:
은덕:
?Cuándo debería usar caché?
La respuesta a esta pregunta es casi siempre,un sistema de cachémejoraráde manera incremble los tiempos de respuesta de tu aplicación,inclusive si tienes contenido generado dinámicament puedes ahorrrar unos milisegudos o segudos dependiendo de La complejidad y configuration que utilities.
?Cuándo no usar caché?
Elúnico enemigo real del cachéson los sistemas real-time,en dónde se tienen actualizaciones por milisegundos,como lo puede ser un sistema de seguimiento de vehículos a través de GPS.De todos modos,se pueden utilizar ciertas técnicas De cachépara agilizar parte del proceso completo.
장애인 캐치
Dado que el cachéalmacena datos/archivos procesados,es important hacer limpieza de este cada cierto tiempo,haciendo que nuestra aplicación no se quede obsoleta en cuanto información y liberando memoria,el término“invalidar”hace referencea eliminar los datos que se encumentran en caché.
세 가지 요소가 있습니다.
Invalidación por tiempos definidos 무효
Cuando almacenamos datos en caché,tenemos la posibilidad de elegir un tiempo que se mantendráguardado,al pasar este tiempo,el cachéseráinvalidado automáticamente.
El tiempo que debemos mantener los datos en caché depender á de la concurrencia de la aplicación o fragmento de có digo,si es un có digo que regresa siempre la misma salida,por ejempo, una 로그인 페이지,podemos establecer un periodo de 30 min a 2 horas,sin 금수,si El có digo que remos cachear est á en constante cambio,podemos incluso hacer caché de 3 a 20 segunds,파리스 드 무차 아유다(parece de mucha ayuda)가 없었다면 우리는 그것을 평가할 수 있었을 것이다.
Invalidación por elementos poco utilizados 회사
Los elementos de cachéque se utilizan en menor frecuencia también puede ser invalidados,en special si la memoria estápor agotarse,es muy possible que el propio sistema de cachéinvalide estos datos de manera automática.
Invalidación 브로셔
Al igual que tenemos el control sobre lo que se almacena en caché,podemos definir en quémomento invalidar,esto resultaútil cuando,por ejempo,cambiamos el estado de la base de datos y necesitamos que el cachéobtenga las nuevas entradas.
Cacheando 변수
Si lo que deseamos es almacenar valores diversos,siendoéstos,variables de sesión,resultados de querys,etc,entons,necesitaremos de algún motor para manejar el caché,las principales opciones que tenemos en PHP sonmemcachedyredis.
ambos casos tenemos una API bastante amplia que nos permitir á n almacenar valores En caché En una estructura clave valor에서 ambos cuentan con la opción de establecer el tiempo que permanecer á n los datos En caché.
Dado que ambas herramientas son muy buenas,tienden a tener muy buena integración con frameworks,por lo que muy probablemente ya tengas pre configurado una librería en la herramienta que utilizas día día día.
La instalación de un servicdor para procesar cachéno es complada y brinda muchísimos benciios.
Cacheando 바이트
A pesar de que
php
es un lenguaje interpretato,es possible guardar fragmentos de código que siempre regresan la misma salida,haciendo que su ejección sea mucho más rápida.Para lograrésto,existe la extensiónOPCache,Disponsible a partir de php 5.5,su trabajo es análizar todos esos fragmentos de código y de manera automática los irágestionando.
La configuración de La extensión se hace en el archivo
php.ini
y se recomienda una configuración inicial como La siguiente:opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
은덕:memory_consumption
:Indica el tamaño de la memoria en MB que puede ser utilizada por OPCache,el valor mínimo permitido es de 8MB.interned_strings_buffer
:Indica la cantidad de memoria en MB para almacenar cadenas de téxto.max_accelerated_files
:Indica el número máximo de scripts que pueden ser almacenados en OPCache.revalidate_freq
:Tiempo en segundos que se mantendrán cacheados los scripts.fast_shutdown
:Permite deshabilitar el sistema de cachéde manera rápida,delegando la limpieza de memoria al engineZend
.php7.2 버전 omayor,estaconfiguración noesnecesaria.enable_cli
:Habilita el cachépara la versión CLI de php.Cacheando archivos 회사
Una técnica muy utilizada specialmente en herramientas que pre procesan archivos,es mantener Una version cacheada del archivo previamente procesado,siguiendo el mismo concepto inicial,si el archivo ya fue procesado,se regresa como respuesta,de lo contario,se compila,se guarda físicamente en Una carpeta y regresa el archivo.
Una ventaja que tenemos es que podemos combinar partes físicas,con datos previamente guardados en memcached o redis teniendo Una mezcla enter contenido estático y dinámico,pero cargado en memoria y con la posibilidad de manejar diferentes tiempos de vida.
Cacheando respuestas 회사
La manera de cachear respuestas para ser servicidas a mayor velocidad se da a través de cabeceras en La petición/respuesta,éstas pueden ser gestionadas con ayuda de tu servicdor http comoapacheonginxy suelen trabajar muy bien con librerías comocache-plugin.
Las cabeceras que suelen ser utilizadas para el control de cachéson:
Expires
: 티엔보 델카흐.Cache-Control
:Directivas que indican el comportamiento del caché.ETag
:Hash del contenido,se utiliza cuando se generan datos dinámicamente.Last-Modified
: 알티마 페차 데 모디피카송If-None-Match
:Cabecera que indica que el contenido no se encuentra en caché.If-Modified-Since
:Cabecera que indica que el contenido que encuentra en cachéha sido.결론:
El cachées El mejor aliado que tenemos para optimizar los tiempos de respuesta de nuestra aplicaciones,es important que dediquemos un tiempo a compender y experitar respear respeas al uso de caché.
Si es que utilizas algún framework,te invito a que investigues que métodos de cahéimplementa y lo compartas en los comentarios o Si tienes alguna otra implementación que nos pueda ayudar,sería genial que la comparieras.
Espero que esta guía te haya sido de ayuda.
"하스타라프로시마!
Reference
이 문제에 관하여(Sistema de cachépara optimizar web PHP), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/javleds/sistema-de-cache-para-optimizar-web-1p92텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)