sfFunctionCache, otra pequeña gran utilidad de Symfony

sfFunctionCache, es una de esas utilidades sencillas y prácticas que incluye Symfony. Cuando el resultado de una función solo depende de los parámetros que se le pasen, es posible cachear el resultado de su primera ejecución para reutilizarlo cada vez que se llame a la función con los mismos parámetros.

La clase sfFunctionCache de Symfony realiza automáticamente todo el proceso anterior. A partir del nombre de una función a ejecutar y del valor de sus parámetros, comprueba si existe un valor cacheado del resultado de la función. Si lo encuentra, devuelve el valor sin ejecutar la función. Si no lo encuentra, ejecuta la función y cachea su resultado para futuras ejecuciones.

Dave Dash, en su blog Spindrop.us, comenta un caso real en el que han aplicado sfFunctionCache. Para una aplicación que han desarrollado con Symfony utilizan la Geocoding API de Yahoo para determinar la longitud y latitud de un lugar a partir de su dirección física.

Como el resultado de esta operación siempre será el mismo cuando se utilizan los mismos parámetros, sfFunctionCache es la solución perfecta para cachear los resultados de las llamadas a la API de Yahoo. El resultado es que la aplicación es mucho más rápida y que es más difícil llegar al límite de 5.000 consultas diarias gratuitas que permite la API de Yahoo.

En el post original se puede ver el código PHP utilizado para encapsular la llamada a la API de Yahoo y el uso de sfFunctionCache.

Fuente: Caching REST with sfFunctionCache

Comentarios

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Compartir en

Publicada el

11 de abril de 2007

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Descargas totales de Symfony

1.069.955.393

Ver descargas en tiempo real

Síguenos en @symfony_es para acceder a las últimas noticias.