Product Documentation

How the Integrated Cache Works

Sep 01, 2016

The integrated cache monitors HTTP and SQL requests that flow through the Citrix NetScaler appliance and compares the requests with stored policies. Depending on the outcome, the integrated cache feature either searches the cache for the response or forwards the request to the origin server. For HTTP requests, the integrated cache feature can also serve partial content from the cache in response to single byte-range and multi-part byte-range requests.

Cached data can be compressed if the client accepts compressed content. You can configure expiration times for a content group, and you can selectively expire entries in a content group.

Data that is served from the integrated cache is a cache hit, and data served from the origin is a cache miss, as described in the following table.

Table 1. Cache Hits and Misses

Transaction Type


Cache Hit

Responses that the NetScaler appliance serves from the cache, including:

  • Static objects, for example, image files and static Web pages
  • 200 OK pages
  • 203 Non-Authoritative Response pages
  • 300 Multiple Choices pages
  • 301 Moved Permanently pages
  • 302 Found pages
  • 304 Not Modified pages

These responses are known as positive responses.

The NetScaler appliance also caches the following negative responses:

  • 307 Temporary Redirect pages
  • 403 Forbidden pages
  • 404 Not Found pages
  • 410 Gone pages

To further improve performance, you can configure the NetScaler appliance to cache additional types of content.

Storable Cache Miss

For a storable cache miss, the NetScaler appliance fetches the response from the origin server, and stores the response in the cache before serving it to the client.

Non-Storable Cache Miss

A non-storable cache miss is inappropriate for caching. By default, any response that contains the following status codes is a non-storable cache miss:

  • 201, 202, 204, 205, 206 status codes
  • All 4xx codes, except 403, 404 and 410
  • 5xx status codes
Note: To integrate dynamic caching with your application infrastructure, use the NITRO API to issue cache commands remotely. For example, you can configure triggers that expire cached responses when a database table is updated.

To ensure the synchronization of cached responses with the data on the origin server, you configure expiration methods. When the NetScaler appliance receives a request that matches an expired response, it refreshes the response from the origin server.

Note: Citrix recommends that you synchronize the times on the NetScaler appliance and the back-end server(s).