在Spring / Servlet / Tomcat中从内存中提供静态资源的优雅方式?

时间:2014-04-01 06:22:21

标签: java spring tomcat caching servlets

假设我想通过直接从RAM内存加载.css.js和其他一些文件(favicon,某些图像)的全部内容来提高性能,而不会碰到磁盘。

我可以编写servlet / controller,它将在上下文init上加载这些文件,或者在简单的String中加载第一个请求和缓存,但是是否有任何标准的已经制定的解决方案来从RAM中提供所选的静态资源Spring,Servlets还是Tomcat规范?

支持正确的标题(缓存控制等)会很好。

1 个答案:

答案 0 :(得分:3)

Tomcat默认缓存静态文件。

您可以在context.xml中配置缓存行为。特别是(来自http://tomcat.apache.org/tomcat-7.0-doc/config/context.html):

cacheMaxSize
静态资源缓存的最大大小(以KB为单位)。如果未指定,则默认值为10240(10兆字节)。

cacheObjectMaxSize
将放置在缓存中的静态资源的最大大小。如果未指定,则默认值为512(512千字节)。如果此值大于cacheMaxSize / 20,则它将减少为cacheMaxSize / 20.

cacheTTL
缓存条目重新验证之间的时间量(以毫秒为单位)。如果未指定,则默认值为5000(5秒)。

cachingAllowed
如果此标志的值为true,则将使用静态资源的缓存。如果未指定,则标志的默认值为true。

相关问题