< Configuration Files

Layers >

## 5. Caches Configuration

Several different caching mechanisms are available in CartoWeb for maximum performances. The different types of caches are described in the next chapters.

## 5.1. Smarty Cache

The templating system used in CartoWeb is Smarty[1], which offers two level of caching for templates. One is compilation of templates into the `templates_c` directory, and the other is static caching of templates. In CartoWeb, because pages are very dynamic, only the first level of caching is used.

The caching feature of Smarty is totally transparent to the user. However, an option can be set in the `client_conf/client.ini` configuration file to enhance performances.

- smartyCompileCheck = true|false: Set this to false in production to improve performance. Warning: This parameter will be overrided by the `profile` parameter (See Section 4.1, “Common `client.ini` and `server.ini` Options”).

### Warning

Setting this option to `false` means that your template won't be updated any more. Pay attention to this if you need to change them on the server.

## 5.2. WSDL Cache

When using SOAP, and the `useWsdl` option is set to `true` in the `client_conf/client.ini` or `server_conf/server.ini`, the WSDL generated document can be cached for more performance. This is the purpose of this cache option. So it should be activated in production environment, and turned off during development, if your changes have an impact on the WSDL.

## 5.3. MapInfo Cache

MapInfo is a structure generated on the server and used by the cartoclient to access static server information. This cache keeps a copy of the MapInfo structure on the client or the server, so that the client does not need ask it everytime, and the server can avoid regenerating it from scratch.

## 5.4. MapResult Cache

This is a server side only cache, which caches the requests made to the server. This cache works at the Php level, meaning that it can be used when CartoWeb is used in direct or SOAP mode. For the distinction between these two modes, see Section 4.2, “ `client.ini` ”. However, the XML SOAP cache is more appropriate when using SOAP mode, see details in the next chapter.

## 5.5. XML SOAP Cache

This one is also a server side only cache, caching requests at the lowlevel XML SOAP exchange. This means this cache is only effective when direct mode is not used, and can be used for any webservice for which the output only depends on the input arguments.

## 5.6. Caches Configuration

### 5.6.1. Rationale

All cache configuration name are in the form `noXXXName`, where `XXX` is the name of the cache. This is so, so that if the parameter is not available, its default value will be false, meaning that all caches are active by default, for maximum performance.

### Warning

These parameters will be overrided by the `profile` parameter (See Section 4.1, “Common `client.ini` and `server.ini` Options”).

### 5.6.2. Client and Server Cache Options

These parameters are available in `client_conf/client.ini` for client and `server_conf/server.ini` for server.

- noWsdlCache = true|false: disables the caching of wsdl (ignored if useWsdl is false)
- noMapInfoCache = true|false: disables the caching of MapInfo requests

### 5.6.3. Server Cache Options

These parameters are available in `server_conf/server.ini`.

- noMapResultCache = true|false: disables the caching of getMap requests
- noSoapXMLCache = true|false: disables the caching of SOAP XML requests

[1] http://smarty.php.net/