Настройка во время выполнения
Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Меняемо | Список изменений |
---|---|---|---|
memcache.allow_failover | "1" | PHP_INI_ALL | Доступно с memcache 2.0.2. |
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Доступно с memcache 2.1.0. |
memcache.chunk_size | "8192" | PHP_INI_ALL | Доступно с memcache 2.0.2. |
memcache.default_port | "11211" | PHP_INI_ALL | Доступно с memcache 2.0.2. |
memcache.hash_strategy | "standard" | PHP_INI_ALL | Доступно с memcache 2.2.0. |
memcache.hash_function | "crc32" | PHP_INI_ALL | Доступно с memcache 2.2.0. |
session.save_handler | "files" | PHP_INI_ALL | Поддерживается с memcache 2.1.2 |
session.save_path | "" | PHP_INI_ALL | Поддерживается с memcache 2.1.2 |
memcache.protocol | ascii | >PHP_INI_ALL | Поддерживается с memcache 3.0.0 |
memcache.redundancy | 1 | >PHP_INI_ALL | Поддерживается с memcache 3.0.0 |
memcache.session_redundancy | 2 | >PHP_INI_ALL | Поддерживается с memcache 3.0.0 |
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Поддерживается с memcache 3.0.3 |
memcache.lock_timeout | 15 | >PHP_INI_ALL | Поддерживается с memcache 3.0.4 |
Краткое разъяснение конфигурационных директив.
-
memcache.allow_failover
boolean -
Разрешение прозрачного переключения на другие сервера при возникновении ошибок.
-
memcache.max_failover_attempts
integer -
Устанавливает число попыток чтения и записи данных. Используется только в сочетании с memcache.allow_failover.
-
memcache.chunk_size
integer -
Устанавливает размер передаваемых блоков данных. Использование малых значений приводит к повышению сетевой активности. В случае неожиданного замедления работы попробуйте увеличить значение до 32768.
-
memcache.default_port
string -
Устанавливает номер TCP порта по умолчанию для подключения к memcached-серверу, если явно не указан иной.
-
memcache.hash_strategy
string -
Контролирует стратегию функций отображения ключей на сервера. Установите этот параметр в consistent для включения последовательного хеширования, которое не требует переназначения ключей кеша при добавлении и удалении серверов из пула. Установка же этого параметра в standard приводит к использованию старой стратегии.
-
memcache.hash_function
string -
Устанавливает хеш-функцию для отображения ключей на сервера. При значении crc32 будет использоваться стандартный CRC32 хеш, а при fnv - FNV-1a.
-
session.save_handler
string -
Установите этот параметр в memcache для использовать memcache в качестве обработчика сессий.
-
session.save_path
string -
Устанавливает список адресов серверов, разделенных запятой, для хранений сессий. Например, "tcp://host1:11211, tcp://host2:11211".
Каждый адрес может содержать параметры аналогичные используемым в методе Memcache::addServer(), которые будут применены сервером. Например, "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
-
memcache.protocol
string -
-
memcache.redundancy
integer -
-
memcache.session_redundancy
integer -
-
memcache.compress_threshold
integer -
-
memcache.lock_timeout
integer -
Коментарии
There's a currently undocumented variable that is now available (you can see it in php_info()) for session handling:
memcache.session_redundancy
The default seems to be "2", and it is supposed to influence how many copies of a particular session object that Memcache will store for failover purposes (so with a redundancy of 2, it will store a session on 2 different shards).
This will add slight overhead with extra writes, but overall seems worth it for purposes of failover.