2010-09-28 14 views
5

¿Cuál es la mejor manera de configurar el almacenamiento en caché en tomcat?Java Tomcat enable caching

¿Cómo funciona el almacenamiento en caché? ¿Está basado en url, basado en dir o qué?
Necesito almacenamiento en caché específico de url para que la base de datos no realice los mismos cálculos para la misma url

+0

Es usted la intención de almacenar en caché las respuestas HTTP del servidor para una determinada URL con los mismos parámetros de cadena de consulta o POST? –

+0

@Vineet Reynolds Sí exactamente –

+0

es posible que desee actualizar la pregunta para indicar que. Creo que la gente podría malinterpretar la pregunta y podría estar cerrada. –

Respuesta

9

La manera más simple es utilizar un proveedor de caché web dedicado. Tomcat no tiene un OOTB, pero puede emplear Apache with mod_cache (y obviamente mod_jk). En esta configuración, Apache tiende a actuar como un proxy caché que almacena en caché el contenido dinámico servido por Tomcat; Deberá asegurarse de que Tomcat sirva los encabezados correctos para garantizar que Apache guarde en caché las respuestas.

Existen otras soluciones comerciales de caché web, pero normalmente se usan para usos de gama alta.

También podría utilizar Squid en lugar de Apache, para actuar como un proxy inverso que también es capaz de servir contenido en caché; en este caso, Squid realiza el almacenamiento en caché del contenido dinámico.

Si no desea invertir en un servidor adicional, como sugieren las soluciones anteriores, puede considerar usar EHCache to perform web page caching en el propio Tomcat.

relacionada

  1. Java Web Application: How to implement caching techniques?
+0

Gracias, ya tengo Apache como proxy, pero algunos intentos con mod_cache fallaron. ¿Puede indicarme algunos ejemplos? –

+0

Bueno, acabo de ver este enlace - http://blogs.sun.com/trawick/entry/caching_dynamic_content_with_apache. Espero eso ayude. –

1

Tomcat no es compatible con lo que quiere sacarlo de la caja, por lo que necesitará un poco de material extra. No conozco todas las capacidades de mod_cache, pero si no está utilizando Apache, OSCache puede hacer lo que está solicitando.