Hay páginas o segmentos de código que pueden ser un poco pesados de ejecutar o requieren de información externa o de queries a tablas grandes, en cuyo casos si hicieramos cache de estos y evitaramos ejecutarlo cada vez se puede ganar mucho rendimiento en el sitio.
Drupal ya implementa un esquema de cache muy sencillo de utilizar.
Hay muchas formas de resolver un problema, y en Drupal no es la excepción. Como estructurar Drupal de manera que nos ahorre tiempo y dolores de cabeza en un futuro no es dificil pero es necesario cumplir con ciertas recomendaciones.
Vamos a ver como trabajar con Drupal desde 2 puntos de vista, el Físico y el Lógico.
Necesitaba poner varios bloques en una pagina siendo este bloque un view y la unica diferencia era el termino de taxonomia.
El sitio no usa panels y no queria utilizarlo solo para esto, asi que decidi crear un bloque que utilice un argumento para el termino, pero quedaba el detalle de como pasar a un bloque un argumento sin usar paneles.
Este metodo que muestro aqui tambien sirve para incrustar un view en cualquier parte realmente.
Lo que hice fue lo siguiente:
Hoy tuve la necesidad de importar una serie de presets de imagecache desde otro sitio.
En las características de imagecache aparece la opción de exportar, pero no hay opción alguna para importar.
Pero implementarlo no es complicado.
Varnish es un proxy que coloca entre el usuario y el (o los) servidor(es) web, siendo Varnish quien accesa el servidor web, manteniendo cache del contenido y manipulando los headers y tal vez también el contenido.
Varnish redirecciona el request ya sea hacia el cache interno, hacia un servidor web u otro servidor web.
Dentro de un esquema parecido en cuanto al tipo de resultados esta el usar un CDN (Content Delivery Network) que consiste en colocar los archivos estaticos en un servidor o servicio que se dedica especificamente a proveer archivos y relegar al servidor web de estos requests, liberando probablemente más de un 80% de los requests que recibe el servidor web.
Drupal tiene un cache que por defecto se guarda en la base de datos.
Este cache funciona en modo de llave/valor y en el se guarda aquello que el core o cada modulo considera que debe ser cacheado en vez de evaluarse en cada llamada.