Skip to content

CacheConfig

Thiago da Rosa de Bustamante edited this page Feb 6, 2018 · 6 revisions

Configure cache for API requests.

The Caching system supports two kinds of cache (and both can be used together or alone):

  • Browser cache: The gateway can handle HTTP response headers to make the client browsers keep a cache for configured resources.
  • Memory Cache: The gateway save copies of the proxied API responses into the Redis database.

The Cache configuration object must be included in the API config and supports the following properties:

Property Type Description Required
client ClientCacheConfig Configuration for a client side cache (in browser). false
server ServerCacheConfig Configuration for a server side cache (in a Redis store). false

ClientCacheConfig

Configure HTTP response headers to make the client browsers keeping a cache for configured resources.

It support the following properties:

Property Type Description Required
cacheTime string or number The time to keep the cached resources. You can inform the amount of milisencods, or use a human-interval string. true
cacheControl 'public', 'private', 'no-cache' or 'no-store' Configure the HTTP Cache-Control header. false
mustRevalidate boolean Configure the HTTP Cache-Control header. false
noTransform boolean Configure the HTTP Cache-Control header. false
proxyRevalidate boolean Configure the HTTP Cache-Control header. false

Example:

{
    "cache": {
            "client": {
                "cacheTime": "1 minute",
                "cacheControl": "public",
                "mustRevalidate": false,
                "noTransform": false,
                "proxyRevalidate": false
            }
        }
}

ServerCacheConfig

Configure the caching system to save copies of the proxied API responses into the Redis database.

It support the following properties:

Property Type Description Required
cacheTime string or number The time to keep the cached resources. You can inform the amount of milisencods, or use a human-interval string. true
preserveHeaders string[] A list of response received headers that also need to be saved by cache system, to reproduce them to clients. false
disableStats boolean If true, disable the statistical data recording for cache events. false
statsConfig StatsConfig Configurations for the cache stats. false

Example:

{
    "cache": {
            "client": {
                "cacheTime": "1 minute",
                "cacheControl": "public",
            },
            "server": {
                "cacheTime": "10 minutes",
                "binary": true,
                "preserveHeaders" :["access-control-allow-credentials"]
            }
        }
}
Clone this wiki locally