php joomla joomla2.5 joomla3.0 joomla3.1

php - ¿Cuál es la diferencia entre el almacenamiento en caché conservador y el almacenamiento en caché progresivo en joomla 2.5?



joomla2.5 joomla3.0 (3)

El almacenamiento en caché conservador es el tipo estándar de almacenamiento en caché. Así es como funciona:

  • Un visitante visita una página en su sitio web.

  • Joomla comprueba si hay una versión no vencida de esa página en su directorio de caché.

  • Si existe la página almacenada en caché (y no está vencida), Joomla se la entregará al visitante; de ​​lo contrario, se creará una versión almacenada en caché de la página, y esa versión almacenada en caché se enviará al visitante, y a todos los demás visitantes consecuentes, mientras que (por "eso" nos referimos a la página) no haya caducado.

El escenario anterior es típico y es cómo la mayoría de los desarrolladores implementan el almacenamiento en caché.

El almacenamiento en caché progresivo funciona de la siguiente manera:

  • Un visitante visita una página en su sitio web.

  • Joomla comprueba si existe una versión en caché de esa página para ese visitante y aún no ha caducado.

  • Si esa página en caché existe, entonces se servirá al visitante, de lo contrario, Joomla creará la página en caché para ese visitante específico y luego se la servirá.

  • Si otro visitante (que nunca ha estado en esa página) visita esa página, Joomla no servirá la página en caché del visitante anterior, en su lugar, creará una versión en caché de esa página.
    Específicamente para ese usuario, y luego se lo sirve.

Como puede ver, el almacenamiento en caché progresivo solo ofrece una mejora en el rendimiento si el mismo visitante visita la misma página durante el tiempo de vida de la versión en caché de la página. En la mayoría de los casos, el almacenamiento en caché progresivo se traduce en un gran impacto de rendimiento que es mucho peor que la desactivación del almacenamiento en caché, simplemente porque casi todas las visitas, Joomla tiene que procesar la solicitud, crear la versión en caché de la página y luego entregar la página al visitante (en lugar de solo procesar la solicitud y servir la página en el escenario donde la memoria caché está deshabilitada). Ah, y no se olvide de todos los archivos de caché generados por Joomla; solo puede imaginar cuántos de estos archivos tendrá en su carpeta de caché si tiene un sitio web de noticias de alto tráfico (que tiene muchas páginas).

Ahora podría preguntarse: ¿en qué circunstancias es útil el almacenamiento en caché progresivo? Bueno, imagina que tienes un sitio web de videos (similar a youtube). Desea mostrar a cada visitante páginas personalizadas en función de su ubicación y / o configuración del navegador y / o complementos instalados. Por lo tanto, para cada página que cargan los visitantes, utiliza esta información para generar una versión personalizada de esa página y la almacena en caché. Si el visitante visita la misma página nuevamente, Joomla no necesita rehacer el trabajo para generar la página personalizada.

Por supuesto, hay muchos escenarios en los que el almacenamiento en caché progresivo es realmente útil, pero en nuestra opinión, el almacenamiento en caché progresivo solo debe considerarse si el sitio web recibe muchos visitantes y si esos visitantes son en su mayoría visitantes frecuentes. Su uso en otros casos causará un impacto significativo en el rendimiento del sitio web.

Extraído de itoctopus.com/… .

En Global Config en joomla, el almacenamiento en caché 2 es conservador y progresivo, ¿cuál es la diferencia tanto?


El almacenamiento en caché progresivo funciona igual que el almacenamiento en caché conservador, con la diferencia de que los buffers se actualizan progresivamente.

Si observa la función de procesamiento en JApplicationCMS (donde se establece el almacenamiento en caché progresivo), encontrará que no es aplicable a los usuarios que han iniciado sesión. https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/application/cms.php

if ($this->isSite() && $this->get(''caching'') && $this->get(''caching'', 2) == 2 && !JFactory::getUser()->get(''id'')) { $caching = true; }

Además, si descarga los ID de caché para la misma página en los navegadores o ips, obtendrá los mismos ID de caché.

El trabajo típico de almacenamiento en caché progresivo ocurre en getWorkarounds y setWorkarounds de JCache. Sin embargo, tenga cuidado, los cbuffers pueden volverse difíciles de manejar y causar problemas.


Para caché único por visitante

  • La memoria caché conservadora muestra a todos los visitantes de su sitio exactamente el mismo contenido almacenado en caché.

  • Sin embargo, el almacenamiento en caché progresivo almacena en caché el contenido de cada usuario de forma única.

Desde el inmotionhosting.com/support/edu/joomla-25/caching/… Proporcionado por el comentario de @ Tornado.