Foros del Web » Programando para Internet » PHP »

Sistema cache, ¿sólo una parte del código?

Estas en el tema de Sistema cache, ¿sólo una parte del código? en el foro de PHP en Foros del Web. Pues eso, sigo buscando por la red distintas maneras de desarrollar un sistema cache en PHP, pero el objetivo habitual es abarcar toda la salida ...
  #1 (permalink)  
Antiguo 06/04/2009, 15:32
 
Fecha de Ingreso: enero-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Sistema cache, ¿sólo una parte del código?

Pues eso, sigo buscando por la red distintas maneras de desarrollar un sistema cache en PHP, pero el objetivo habitual es abarcar toda la salida de una página.

En mi caso requiero algo más "complejo", al visitar una sección (página) se realizan unas 2 consultas a bases de datos y a la vez un apartado (formulario) con datos del miembro Online (nick, id, etc). Lógicamente no puedo permitir cachear toda la página porque en parte se encuentran datos del usuario ONline, ¿se entiende?

Por lo tanto, desde mi punto de vista, la única solución es "cachear" sólo lo que me interesa de esa página, por ejemplo los resultados de la base de datos, entre otras cosillas, menos la parte del miembro ONline.

Espero que puedan ayudarme, de momento lo intento de muchas maneras pero no puedo lograrlo.

Gracias.
  #2 (permalink)  
Antiguo 06/04/2009, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Sistema cache, ¿sólo una parte del código?

Si ves el Zend Framework, el componente Zend_Cache soporta hacer caching de solo una parte de tu script.

Saludos.
  #3 (permalink)  
Antiguo 06/04/2009, 16:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Sistema cache, ¿sólo una parte del código?

otra, es usar o hacer uso... del cache de la base de datos...

es algo convencional, que yo sepa...

los resultados de tu consulta a la base de datos, los serializas en archivos de texto... y así, se queda cacheada esa parte... los datos en si...


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 06/04/2009, 16:54
 
Fecha de Ingreso: enero-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Sistema cache, ¿sólo una parte del código?

Gracias a ambos, la verdad tengo la mente más clara, pero ahora tengo otras dudas sobre rendimiento en general.

Lo primero, he decidido usar "cache" porque la actualización de la página no es constante oK?, pero miedo tengo cuando son muchos los archivos salvados.
No se trata de utilizar el sistema de cache en una portada o así, sino en distintas páginas dinámicas las cuales como dije antes, no se actualizan a diario.

Es decir, si yo tengo unas 50 páginas con distintos resultados, equivale a generar mas de 50 archivos en la cache, no perjudica el rendimiento?
Espero que me haya explicado bien..

Gracias otra vez.
  #5 (permalink)  
Antiguo 07/04/2009, 01:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 10 meses
Puntos: 6
Respuesta: Sistema cache, ¿sólo una parte del código?

En princio el número de archivos no afectaría al rendimiento, sino al espacio en disco. Claro, que si se llena el disco y no queda espacio para, por ejemplo, memoria virtual, pues sí que afectaría al rendimiento. Pero ese caso sería muy extremo. Los sistemas de caché suelen tener un sistema de "limpieza" (garbage collector) de manera que va eliminando las entradas (ficheros) no utilizados.

En mi caso, utilizo el Zend_Cache comentado por GatorV, y he de decir que me va muy bien.

Saludos
  #6 (permalink)  
Antiguo 07/04/2009, 02:48
 
Fecha de Ingreso: enero-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Sistema cache, ¿sólo una parte del código?

Gracias juanfuentes, estoy utilizando Zend_Cache.. e intentando documentarte por ahi más experiencias, una persona comentaba (lo había probado en su blog) que llegaba un momento en el cual se formaba un "cuello de botella" sobre la búsqueda de archivos cache, ¿es posible?

Del espacio en disco, no hay problema. En mi caso utilizo la técnica del ejemplo 5.3 de la documentación Zend Cache (salvar partes concretas):
Página dinámica (index.php?ver=1)
Código PHP:
<?php
if(!$cache->start('mypage')) {
    
//primera parte de la salida.
$cache->end();
}
?>
Aquí se encuentra un bloque de salida la cual no quiero cachear.. lo dejo libre.
<?php
if(!$cache->start('mypage2')) {
    
//segunda parte de la salida.
$cache->end();
?>
Bueno, así lo utilizo. Se guardan 4 (2 de ellos el contenido) archivos cache por cada página dinámica visitada.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:07.