it-swarm-es.com

¿Caché en archivos sería una alternativa?

Una vez trabajé en una empresa que tenía su propio CMS y solíamos almacenar datos en caché en archivos, así que básicamente el sistema verificaba si el archivo de caché existía, si no, iría a la base de datos, obtendría los datos, los guardaría en un archivo y luego muéstralo a los usuarios (cosa básica de caché). Esto resultó en menos conexiones a la base de datos.

Me gustaría saber si esta es una buena opción para Drupal o si hay algún problema con esta forma de almacenar cosas en caché.

6
João Guilherme

Como mencionó anschauung, puede usar Boost para crear una caché de página estática. Boost copiará todo el HTML de una página y almacenará ese HTML como un archivo estático en el disco en un directorio específico. Un conjunto de reglas de reescritura hará que el servidor web busque primero un archivo HTML estático para cada solicitud y sirva ese archivo si lo encuentra. Si no es así, una solicitud normal Drupal ocurre a través de PHP. Las solicitudes servidas a través del archivo estático serán muy rápidas, pero PHP y la base de datos son completamente omitido.

Boost no es un reemplazo para el backend de caché y eso Drupal seguirá usando las tablas de caché en la base de datos cuando ocurra una falla en los archivos HTML estáticos creados por Boost. Si desea reemplazar completamente el caché backend, puede buscar en memcache , que almacena objetos serializados en la memoria. Memcached se ejecuta como un demonio en el servidor y se puede conectar a través de TCP. Esto puede ser tanto bueno como malo, dependiendo en el número de servidores en el entorno y

Tenga en cuenta que también es posible que la base de datos mantenga las tablas de caché en la memoria (al menos con MySQL), aunque no estoy seguro de los detalles de cómo hacerlo.

Todos pueden usar el módulo APC si están ejecutando Drupal 7. Los módulos APC se integran con la caché de código de operación de APC y lo usa como backend de caché de Drupal. APC puede ser más rápido que memcached en ciertos escenarios porque no hay una sobrecarga de conexión TCP. Cada caché de APC está vinculado a un servidor específico, mientras que Memcached y la base de datos pueden ser compartido por varios servidores frontales (nuevamente, esto puede ser bueno o malo).

14
CalebD

De hecho, el módulo Boost hace exactamente lo que está describiendo: crea cachés de archivos de páginas y vuelve a verificar la base de datos si un archivo en particular no existe.

Échale un vistazo :)

7
anschauung

Si bien el módulo Boost logra el mismo método, hay muchas alternativas que pueden funcionar incluso mejor, como la caché de página Drupal (que almacena en caché toda la página en un solo registro de base de datos), Memcache o incluso barniz.

2
Mikey P