假设我想通过直接从RAM内存加载.css
,.js
和其他一些文件(favicon,某些图像)的全部内容来提高性能,而不会碰到磁盘。
我可以编写servlet / controller,它将在上下文init上加载这些文件,或者在简单的String
中加载第一个请求和缓存,但是是否有任何标准的已经制定的解决方案来从RAM中提供所选的静态资源Spring,Servlets还是Tomcat规范?
支持正确的标题(缓存控制等)会很好。
答案 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。