CakeFest 2024: The Official CakePHP Conference

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные параметры Memcache
Имя По умолчанию Место изменения Список изменений
memcache.allow_failover "1" INI_ALL Доступно с memcache 2.0.2.
memcache.max_failover_attempts "20" INI_ALL Доступно с memcache 2.1.0.
memcache.chunk_size "8192" INI_ALL Доступно с memcache 2.0.2.
memcache.default_port "11211" INI_ALL Доступно с memcache 2.0.2.
memcache.hash_strategy "standard" INI_ALL Доступно с memcache 2.2.0.
memcache.hash_function "crc32" INI_ALL Доступно с memcache 2.2.0.
memcache.protocol ascii INI_ALL Поддерживается с memcache 3.0.0
memcache.redundancy 1 INI_ALL Поддерживается с memcache 3.0.0
memcache.session_redundancy 2 INI_ALL Поддерживается с memcache 3.0.0
memcache.compress_threshold 20000 INI_ALL Поддерживается с memcache 3.0.3
memcache.lock_timeout 15 INI_ALL Поддерживается с memcache 3.0.4
Параметры конфигурации сессии, влияющие на поведение Memcache
Имя По умолчанию Место изменения Список изменений
session.save_handler "files" INI_ALL Поддерживается, начиная с memcache 2.1.2
session.save_path "" INI_ALL Поддерживается, начиная с memcache 2.1.2
Дополнительная информация и описания режимов INI_* даны в разделе «Места установки параметров конфигурации».

Краткое разъяснение конфигурационных директив.

memcache.allow_failover bool

Разрешение прозрачного переключения (failover) на другие сервера при возникновении ошибок.

memcache.max_failover_attempts int

Устанавливает число попыток чтения и записи данных. Используется только в сочетании с memcache.allow_failover.

memcache.chunk_size int

Устанавливает размер передаваемых блоков данных. Использование малых значений приводит к повышению сетевой активности. В случае неожиданного замедления работы попробуйте увеличить значение до 32768.

memcache.default_port string

Устанавливает номер TCP-порта по умолчанию для подключения к серверу memcached, если явно не указан иной.

memcache.hash_strategy string

Контролирует стратегию функций отображения ключей на сервера. Установите этот параметр в consistent для включения последовательного хеширования, которое не требует переназначения ключей кеша при добавлении и удалении серверов из пула. Установка же этого параметра в standard приводит к использованию старой стратегии.

memcache.hash_function string

Устанавливает хеш-функцию для отображения ключей на сервера. При значении crc32 будет использоваться стандартный CRC32 хеш, а при fnv - FNV-1a.

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

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"

add a note

User Contributed Notes 1 note

up
-3
kross at escapistmag dot com
14 years ago
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.
To Top