2010-07-05 21 views
6

leí este enlace: -¿Cómo funciona el almacenamiento en caché de resultados de CodeIgniter?

http://codeigniter.com/user_guide/general/caching.html

Está escrito que: -

When a page is loaded for the first time, the cache file will be written to your system/cache folder

y que podemos almacenar en caché una vista por $this->output->cache(60);. Pero, ¿cómo funciona realmente? ¿Qué ocurre si mis usuarios continúan actualizando y eliminando registros periódicamente, como resultado de lo cual la vista cambia muy a menudo? ¿Mostrará los datos modificados? o ¿el caché traerá de vuelta los viejos datos obsoletos? (antes de inserciones y actualizaciones)? Si gestiona automáticamente y aporta datos nuevos de la base de datos, ¿cuál es el propósito de especificar los minutos en la función cache?

Gracias de antemano :)

Respuesta

14

almacenamiento en caché de la forma en que funciona CodeIgniter general es la siguiente:

A petición de la página se hace. Codeigniter (antes de que gran parte del framework haya sido cargado) hace un hash de la url actual y si encuentra ese nombre de archivo en el directorio de caché, sirve eso.

La única forma de obtener datos nuevos es eliminar manualmente los archivos. Cuando codeigniter no encuentra el archivo del hash generado, crea dinámicamente la página.

La implementación de Codeigniter se denomina "caché de página completa" y, como tal, tiene una utilidad limitada. Hay una biblioteca de almacenamiento en caché parcial que he estudiado en Phil Sturgeon aquí: http://philsturgeon.co.uk/code/codeigniter-cache

Honestamente, para la mayoría de los proyectos, el almacenamiento en caché de página completa realmente no es tan útil. De hecho, los proyectos que necesito el almacenamiento en caché de página completa ni siquiera dejo eso para codeigniter (lo dejo al servidor web: es mucho más rápido).

Supongo que lo que estás buscando es un método de almacenamiento en caché parcial; la mayoría de las personas preferiría esto. Mire en APC si está usando un solo servidor o Memcached si tiene varios servidores.

Buena suerte.

7

Pero, ¿cómo funcionan realmente?

Si existe una versión almacenada en caché que es más joven que el tiempo de caché, se generará la versión en caché.

¿Mostrará los datos modificados?

Eventualmente sí, pero con un desfase de $ cache_time

¿Qué pasa si mis regularmente a los usuarios mantener la actualización y eliminación de registros como resultado de las cuales vista cambia muy a menudo.

reducir el tiempo de caché o no utilizan el almacenamiento en caché en absoluto

+9

Bajar la votación sin comentarios es sucky comportamiento – Pete

Cuestiones relacionadas