Foros del Web » Programando para Internet » PHP »

Sistema de Cache para Template

Estas en el tema de Sistema de Cache para Template en el foro de PHP en Foros del Web. Hola, estoy desarrollando un clase para manejar templates, en realidad ya la tengo desarrollanda, y funciona bastante bien. Pero para hacerla mas bonita (y eficiente) ...
  #1 (permalink)  
Antiguo 16/01/2002, 16:29
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Sistema de Cache para Template

Hola, estoy desarrollando un clase para manejar templates, en realidad ya la tengo desarrollanda, y funciona bastante bien.
Pero para hacerla mas bonita (y eficiente) quise incorporarle un pequeño sistema de cache, la cual aumentaria la velocidad en
acciones repetitivas, tales como formar una tabla. Ahora bien, resulta que le agregue este sistema de cache y funciona mas lento!!!, utilice la funcion microtime() para las mediciones de velocidad.
El algoritmo que utilice para usar la cache es el siguiente:

si esta en cache leo el dato de cache
si no esta leo de archivo y guardo en cache.

Para implementar la cache use un array() al que le voy ingresando el contenido del archivo cuando es necesario.
No se si la disminusion de velocidad se debe a que utilizo un array() o que utilizo la cache siempre. Habia pensado en
deshabilitar la cache cuando no sea necesaria y activarla cuando lo sea.

Que opinan ustedes? los interesados en esta clase diganme que se las mando por mail, junto con un breve tutorial (los que manejen FastTemplate, se encontraran familiarizados, en parte).

Gracias desde ya muchas gracias.

Saludos!
Nok ;)
  #2 (permalink)  
Antiguo 16/01/2002, 20:20
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

A ver Nok, mandame esa clase que la reviso, me interesaria ver como has implementado el tema del cache. Yo por mi parte estoy utilizando FastTemplate, pero ahora estaba revisando el codigo del Smarty, que me parece mejor.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #3 (permalink)  
Antiguo 16/01/2002, 20:21
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Re: Sistema de Cache para Template

Bueno quiza le debieras de dar una leida a la clase de smarty que usa presisamente un cache eso te puede dar ideas para la tuya.
Para detalles ir a: <a href='ir.asp?http://www.phpinsider.com/php/code/Smarty/' target='_blank'>http://www.phpinsider.com/php/code/Smart...</a>

Saludos.
  #4 (permalink)  
Antiguo 16/01/2002, 20:28
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Re: Sistema de Cache para Template

Por cierto un punto en contra de smarty es que para cosas sencillas esta bien pero cuando requieres hacer cosas mas complejas la verdad que para mi gusto se sale totalmente del contexto de templates, ya que terminas haciendo &quot;templates&quot; que al final tiene codigo php y html y bueno si trabajas con dise~adores eso representa un problema, si solo es para tu uso personal y no habra mucha gente que le heche el ojo a tu trabajo smarty queda bien si no, creo que definitivamente es mejor FastTemplate o template class y quiza xtemplate.

Asi que he hay otra idea para trabajar en tu clase.

Saludos.
  #5 (permalink)  
Antiguo 17/01/2002, 14:22
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno, muchas gracias por su respuesta. Voy a ver que tal es Smarty.
Webstudio, te estoy enviando una mail con la clase para que la ves, y si podes criticarla... :), trata de no ser muy severo... :)

Gracias otra vez.
Saludos!
Nok
Neuquen - Patagonia Argentina
  #6 (permalink)  
Antiguo 17/01/2002, 16:37
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

Gracias Nok, cuando llegue a mi casa la miro y te mando un mail con mi opinion, o si quieres la posteo aqui.

Saludos!

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #7 (permalink)  
Antiguo 17/01/2002, 18:31
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno Webstudio, si es buena posteala si no no :P. No hay problema Pablo, postealo si queres asi pueden opinar otros del foro, igualmente mandamelo por mail. Lo que si te lo envie 2 veces porque como tuve problemas con mi maquina nose si te lo envié.

Bueno, espero tus comentarios...
Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #8 (permalink)  
Antiguo 18/01/2002, 01:17
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
Re: Sistema de Cache para Template

bueno si me pasas el codigo le puedo echar un vistazo, a ver sdi me lo mandas mi mail: [email protected]

<table style="border:1px solid black"><tr><td><center>
<embed width="88" height="144" src="http://www.alaplaya.com/~epplestun/yo.swf"></td></td><font face=verdana size=1>Ivan Rodriguez el poder es [B]PHP</p></td></tr></table>
  #9 (permalink)  
Antiguo 18/01/2002, 09:55
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

Ok, me han llegado las clases bien (ambas dos =). Cuando termine de revisar un código que me pasó Tukzone, comienzco con el tuyo..
Nos vemos.!

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #10 (permalink)  
Antiguo 21/01/2002, 10:56
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

Bueno, ya he revisado los Templates que me ha enviado Nok y ya le he enviado un mail con mis opiniones. En realidad, me a parecido una muy buena implementación en general.

En cuanto al tema del Caché, Aqui nuestro amigo Nok lo que hace es guardar los contenidos de un archivo dado en un array llamado CACHE, para no tener que volver a abrir el archivo y leerlo. Lo que yo no estoy tan seguro es, que ventajas tiene esto y no hacer otra cosa, como por ejemplo, leer un archivo, &quot;parsearlo&quot; y hacer el cambio de variables, y guardar el archivo template, digamos con una modificacion en la extension para reconocerlo. Y la próxima vez, si no ha expirado, leer y mostrar directamente ESE archivo y no el original y volverlo a parsear.

Digamos, tenemos un archivo con extension .tpl con los TAGS para sustituir y tenemos un archivo .tpl.comp (por compilado) que tiene el template YA parseado.

Lo que yo digo es mostrar ese .tpl.comp en el caso de que no haya expirado (en base a tiempo).

Que opinan Uds? A ver los craneos del PHP, que piensan?

saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #11 (permalink)  
Antiguo 21/01/2002, 13:20
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno Pablo, como ya te dije, muchas gracias por tus comentarios. Con respecto al sistema de cache, me parece una buena idea, el realizarlo en la manera que vos planteas. Esto incrementaria bastante la velocidad.
El sistema que yo implemente solamente incrementa la velocidad al leer archivos independientes, aunque no estoy tan seguro si la incrementa. :( :P
Para mantener un archivo ya parseado o compilado, creo que tendria que tener en cuenta los siguientes aspectos, corrijanme si me equivoco o si se les ocurre otra forma:

- Primero un lugar donde guardarlos.
- Ver la manera de chequear la caducacidad del mismo. Ya sea por headers o por otro metodo.
- Establecer un metodo para reconocer cual es el archivo parseado correspondiente a la pagina que estoy procesando.

Bueno, creo que a grandes rasgos seria eso. Si se les ocurre otra cosa, avisenme.


Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #12 (permalink)  
Antiguo 21/01/2002, 16:27
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Sistema de Cache para Template

Hola, me interesa saber como manejas el asunto del caché, yo necesito saber como eliminar un archivo desde el caché del cliente que visualiza el website. si sabes como ayudarme y puedes hacerlo estaria bastante agradecido.

[email protected]
  #13 (permalink)  
Antiguo 22/01/2002, 08:49
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

execon, no es eso a lo que nos estamos refiriendo en esta conversación. Estamos hablando de un sistema de caché de archivos implementado por una clase que hizo Nok para el manejo de Templates.

Nok : lo que se puede hacer, es implementar un método que tome la cantidad de segundos que &quot;vive&quot; una página .comp, de esa manera, vos mismo especificás cuanto suponés que un caché va a estar habilitado. Por ejemplo, en sitios donde sabes que hay un refresco importante de contenidos, se le puede indicar asi:

$html-&gt;setCache(60);

De esa manera, cada sesenta segundos, se vuelve a leer el template y generar un nuevo .comp.

Por ejemplo, si la clase de templates es usada dentro de un foro con MUCHA participación, entonces será mejor que se desactive el CACHE.

Supongo que ese es el mejor método, un caché implementado en base a la ultima fecha de modificacion del archivo .comp.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #14 (permalink)  
Antiguo 22/01/2002, 09:11
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bien webstudio, me parece logico ese metodo. Esta tarde si tengo tiempo voy a tratar de implementarlo. Con respecto a los cambio que me sugeriste sobre el str_replace(), ya los efectue y ahora funciona mucho mejor, dado que al no recorrer de mas, no se pierde tiempo. Además se nota el incremento en las pruebas que he realizado sobre templates que no contienen variables.
La verdad es que yo pensaba que el uso de ereg iba a bajar el rendimiento pero luego analizando las ventajas de su uso, me di cuenta que tenias razon y era mejor utilizarla.
A proposito una duda: segun entendi (en realidad deduzco) lo que gasta mas recursos es el ereg_replace() y no tantos el ereg(), no es asi?.

Bueno, si esta tarde tengo novedades las publico aca, o si queres te envio la clase por mail, para que la cheques.



Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #15 (permalink)  
Antiguo 22/01/2002, 10:43
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

en realidad, ya utilizar ereg() solamente requiere que el PHP cargue el motor de expresiones regulares, pero en este caso particular de templates, es mas barato hacer eso 1 vez (en toda la ejecucion, porque si expandis 2 templates, lo carga solo 1 vez) que el otro método.

Prueba una cosa, hace algunas pruebas de benchmarking, con microtime, y fijate que metodo parsea más rapido, para las dos versiones de la clase. Si?

Y cuando lo tengas listos, mandamelo por mail de nuevo que la quiero testear en contra del FastTemplate. Si es más rápida, entonces la vendemos!!! :P

Saludos!

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #16 (permalink)  
Antiguo 22/01/2002, 15:31
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno Webstudio ya termine y te acabo de enviar la clase por mail. Espero tus comentarios.

Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #17 (permalink)  
Antiguo 22/01/2002, 17:05
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

Ok, cuando llego a casa la miro, veo lo que le cambiaste, y le hago unos BenchMarks con la FastTemplates. La verdad saldrá a la luz. :)

saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #18 (permalink)  
Antiguo 24/01/2002, 09:56
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno Pablo (Webstudio), no es que este desesperado ni mucho menos, se que estas ocupado, pero NO AGUANTO MAS!!!!.:P

Perdon por exabrupto, cuando tengas un ratito decime si recibiste el mail. Yo hoy seguramente estoy realizandole algunas modificaciones en lo que a eficiencia respecta.

Bueno, eso es todo, disculpa la insistencia.



Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #19 (permalink)  
Antiguo 24/01/2002, 11:03
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

jajajaja Disculpame que no puse nada en estos dias, sucede que no fui a dormir a casa hace dos noches y por ende, no tenia mi maquina para hacer las pruebas, pero hoy seguro que voy y si me hago un rato, te comento lo que haya visto.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #20 (permalink)  
Antiguo 24/01/2002, 12:22
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

OK, ahora me dejas mas tranquilo.
mmmmm, 2 noches sin ir a casa!!,
una &quot;amiga&quot; talves?, si es eso no te preocupes yo puedo seguir esperando...:P;)
Disfruta ;)<img src='images/tongue.gif' width=15 height=15 align=middle>

Bueno, esta tarde estoy haciendo algunas modificaciones en el codigo, si puedo, te lo envio hoy, igualmente serán modificaciones para resolver problemas de eficiencia, no del diseño del script propiamente, ya que lo probé y funciona bastante bien.
Como adelanto te digo, que bajo las pruebas de benchmarking que yo realice comparando el funcionamiento de mi clase, entre usar y no la cache, llegue a tener una aceleracion de 10 veces. Es solo para que lo tengas en cuenta, nose que tal andará FastTemplate.

Bueno, no escribo mas, y espero tus comentarios.


Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #21 (permalink)  
Antiguo 24/01/2002, 12:40
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

No indicás si la mejora proporcionada es utilizando el cache o no utilizandolo?
Al final no está mala la idea que tuve eh?

saludos...

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #22 (permalink)  
Antiguo 24/01/2002, 12:50
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno, obviamente que la mejora fue al utilizar el cache... :)

Respecto a venderla ya estoy pensando la estrategia de Marketing.. :P :P

Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #23 (permalink)  
Antiguo 28/01/2002, 08:57
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Sistema de Cache para Template

Bueno Webstudio, ya han pasado varios dias, y quiesiera saber si revisaste algo de lo que te envie. Yo por mi parte no puede hacer nada nuevo, ni seguirla probando.

Bueno, espero tu comentario.


Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #24 (permalink)  
Antiguo 28/01/2002, 12:33
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Sistema de Cache para Template

Ouch. I've forgot it.
Sucede que estos días estuve evaluando un programa que hizo Tukzone y unos scripts que hizo CholyBerreteaga (muy buenos por cierto).
Hacé una cosa, mandame un mail con la última versión del Template, que si lo tengo en la bandeja de entrada, SEGURO que no me olvido.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
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 19:00.