Caucho Technology
  • resin 4.0
  • proxy cache configuration reference


    Proxy Cache Configuration Reference

    descriptionschemaattributesexample

    <cache-mapping>

    child of web-app

    <cache-mapping> specifies max-age and Expires times for cacheable pages.

    See caching for more information.

    <cache-mapping> is intended to provide Expires times for pages that have ETags or Last-Modified specified, but do not wish to hard-code the max-age timeout in the servlet. For example, Resin's FileServlet relies on cache-mapping to set the expires times for static pages. Using cache-mapping lets cacheable pages be configured in a standard manner.

    <cache-mapping> does not automatically make pages cacheable. Your servlets must already set the ETag (or Last-Modified) header to activate <cache-mapping>.

    • cache-mapping requires an enabled <cache>. If the cache is disabled, cache-mapping will be ignored.
    • cache-mapping does not automatically make a page cacheable. Only cacheable pages are affected by cache-mapping, i.e. pages with an ETag or Last-Modified.

    The time intervals default to seconds, but will allow other time intervals.

    <cache-mapping> Attributes
    ATTRIBUTEDESCRIPTIONDEFAULT
    expiresA time interval to be used for the HTTP Expires header.
    max-ageA time interval to be used for the "Cache-Control max-age=xxx" header. max-age affects proxies and browsers.
    s-max-ageA time interval to be used for the "Cache-Control s-max-age=xxx" header. s-max-age affects proxy caches (including Resin), but not browsers.
    url-patternA pattern matching the url:/foo/*, /foo, or *.foo
    url-regexpA regular expression matching the url
    <cache-mapping> schema
    element cache-mapping {
      (url-pattern | url-regexp)
      & expires?
      & max-age?
      & s-max-age?
    }
    
    Example: cache-mapping in resin-web.xml
    <web-app xmlns="http://caucho.com/ns/resin">
    
      <cache-mapping url-pattern='/*'
                     max-age='10'/>
    
      <cache-mapping url-pattern='*.gif'
                     max-age='15m'/>
    
    </web-app>
    

    <cache>

    child of cluster

    <cache> configures the proxy cache (requires Resin Professional). The proxy cache improves performance by caching the output of servlets, jsp and php pages. For database-heavy pages, this caching can improve performance and reduce database load by several orders of magnitude.

    The proxy cache uses a combination of a memory cache and a disk-based cache to save large amounts of data with little overhead.

    Management of the proxy cache uses the ProxyCacheMXBean.

    <cache> Attributes
    ATTRIBUTEDESCRIPTIONDEFAULT
    pathPath to the persistent cache files.cache/
    disk-sizeMaximum size of the cache saved on disk.1024M
    enableEnables the proxy cache.true
    enable-rangeEnables support for the HTTP Range header.true
    entriesMaximum number of pages stored in the cache.8192
    max-entry-sizeLargest page size allowed in the cache.1M
    memory-sizeMaximum heap memory used to cache blocks.8M
    rewrite-vary-as-privateRewrite Vary headers as Cache-Control: private to avoid browser and proxy-cache bugs (particularly IE).false
    <cache> schema
    element cache {
      disk-size?
      & enable?
      & enable-range?
      & entries?
      & path?
      & max-entry-size?
      & memory-size?
      & rewrite-vary-as-private?
    }
    
    Example: enabling proxy cache
    <resin xmlns="http://caucho.com/ns/resin">
        <cluster id="web-tier">
            <cache entries="16384" disk-size="2G" memory-size="256M"/>
    
            <server id="a" address="192.168.0.10"/>
    
            <host host-name="www.foo.com">
        </cluster>
    </resin>
    

    Copyright © 1998-2011 Caucho Technology, Inc. All rights reserved.
    Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.