Cachear de la manera apropiada, a la rails way

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola listeros,

Tengo una duda, os cuento:

Estoy montando un sistema de estadísticas para una aplicación, pero
como para calcularlas tiene que hacer unas consultas a unas tablas
bastante pesadas tarda demasiado.

Por lo que pensé cachear las gráficas que genero y actualizarlas una
vez al día.

Pero ahí viene el problema como cachearlas y expirarlas de una forma
elegante, en un primer momento pensé en hacerlo mediante un script de
cron que hiciera una petición a un controlador preparado para expirar
todo el asunto, lanzarlo una vez al día y ya está. Pero claro esa
solución me parece algo “guarreta”.

¿Tenéis idea de como hacerlo de una manera “elegante”?

Un saludo
Felipe

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFFdU3Q8APpiBcvFY0RAt3aAKDGPAffnNH9+JaOYAZ0bTNQOkRHsgCfQPFu
LE8GbLrIx2fd/2Sy7hFvNXo=
=/Bhh
-----END PGP SIGNATURE-----

Pensando en forma genérica, si generas las gráficas día a día,
guardalas haciendo referencia a la fecha es decir
20061205-vistantes.jpg así primero compruebas si existe la imagen, si
es así la muestras y sino la generas.

Un saludo.

El 5/12/06, Felipe T. Armero[email protected]
escribió:>

-----END PGP SIGNATURE-----


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

[email protected]
http://www.lacoctelera.com/malonecab

Hola Felipe,
a mi se me ocurre que puedes tener una clase proxy “ImageDispatcher”, o
como le quieras llamar, a la que le pides las gráficas. Esta clase puede
crear las gráficas la primera vez que se las pides y almacenar un
timeout, en adelante sólo generará de nuevo las imágenes cuando el
timeout haya expirado.

Saludos
Óscar

Felipe T. Armero
escribió:> -----BEGIN PGP SIGNED MESSAGE-----

Por lo que pensé cachear las gráficas que genero y actualizarlas una
Un saludo


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Óscar Arias
[email protected]
Tlfn. 630 45 29 38

Trabe Soluciones S.L. [http://www.trabesoluciones.com]
Edificio de Servizos Centrais de
Investigación.Campus de Elviña s/n 15071
Tlfn. (+34) 981 16 70 00 ext. 2628


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Holas,

Gracias por las ideas, al final he optado por una solución intermedia
algo mas costosa de implementar pero yo creo que más elegante.

En vez de andar cacheando las graficas he optado por cachear los
datos en otra tabla distinta, pues lo que le cuesta es hacer los
calculos con los datos de la db, no pintar las gráficas.
Asi que lanza un cron con el runner, que arranca un script que genera
todos los arrays necesarios y los serializa para guardarlos en la
tabla que tengo para las caches, asi el acceso a estos datos se
acelera mucho y el usuario no se queda esperando las gráficas
demasiado tiempo.

Un saludo y gracias por las propuestas.

Felipe T.

El 05/12/2006, a las 16:47, Oscar Arias
escribió:

Óscar

bastante pesadas tarda demasiado.
¿Tenéis idea de como hacerlo de una manera “elegante”?
=/Bhh



Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFFd0lO8APpiBcvFY0RAn9uAKDAah7VAaci7JHNjCxbClarNaOdggCgm4Nt
NnEGqKiD3+iFZq0LojC1y6c=
=78pr
-----END PGP SIGNATURE-----