&reftitle.runtime; &extension.runtime;

# Memcache Configuration Options

&Name; | &Default; | &Changeable; | &Changelog;
memcache.allow_failover | "1" | `INI_ALL` | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | `INI_ALL` | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | `INI_ALL` | Available since memcache 2.0.2.
memcache.default_port | "11211" | `INI_ALL` | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | `INI_ALL` | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | `INI_ALL` | Available since memcache 2.2.0.
memcache.protocol | ascii | `INI_ALL` | Supported since memcache 3.0.0
memcache.redundancy | 1 | `INI_ALL` | Supported since memcache 3.0.0
memcache.session_redundancy | 2 | `INI_ALL` | Supported since memcache 3.0.0
memcache.compress_threshold | 20000 | `INI_ALL` | Supported since memcache 3.0.3
memcache.lock_timeout | 15 | `INI_ALL` | Supported since memcache 3.0.4

## Session Configuration Options Affecting Memcache Behavior

&Name; | &Default; | &Changeable; | &Changelog;
session.save_handler | "files" | `INI_ALL` | Supported since memcache 2.1.2
session.save_path | "" | `INI_ALL` | Supported since memcache 2.1.2

&ini.php.constants; &ini.descriptions.title;

`memcache.allow_failover` `bool`

- Whether to transparently failover to other servers on errors.

`memcache.max_failover_attempts` `int`

- Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

`memcache.chunk_size` `int`

- Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

`memcache.default_port` `string`

- The default TCP port number to use when connecting to the memcached server if no other port is specified.

`memcache.hash_strategy` `string`

- Controls which strategy to use when mapping keys to servers. Set this value to `consistent` to enable consistent hashing which allows servers to be added or removed from the pool without causing keys to be remapped. Setting this value to `standard` results in the old strategy being used.

`memcache.hash_function` `string`

- Controls which hash function to apply when mapping keys to servers, `crc32` uses the standard CRC32 hash while `fnv` uses FNV-1a.

`memcache.protocol` `string`

`memcache.redundancy` `int`

`memcache.session_redundancy` `int`

`memcache.compress_threshold` `int`

`memcache.lock_timeout` `int`

`session.save_handler` `string`

- Use memcache as a session handler by setting this value to `memcache`.

`session.save_path` `string`

- Defines a comma separated of server urls to use for session storage, for example `"tcp://host1:11211, tcp://host2:11211"`.

  Each url may contain parameters which are applied to that server, they are the same as for the `Memcache::addServer` method. For example `"tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"`