Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
memcached.sess_locking | On | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.sess_consistent_hash | On | PHP_INI_ALL | Доступно с memcached 2.1.0. Значение по умолчанию - On, начиная с memcached 3.0.0. |
memcached.sess_binary | Off | PHP_INI_ALL | Доступно с memcached 2.0.0. Заменено на memcached.sess_binary_protocol в memcached 3.0.0. |
memcached.sess_lock_wait | 150000 | PHP_INI_ALL | Доступно с memcached 0.1.0. Удалено в memcached 3.0.0. |
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL | Доступно с memcached 2.1.0. |
memcached.sess_randomize_replica_read | Off | PHP_INI_ALL | Доступно с memcached 2.1.0. |
memcached.sess_remove_failed | On | PHP_INI_ALL | Доступно с memcached 2.1.0. Заменено на memcached.sess_remove_failed_servers в memcached 3.0.0. |
memcached.compression_type | fastlz | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.compression_factor | 1.3 | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.compression_threshold | 2000 | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.serializer | igbinary | PHP_INI_ALL | Доступно с memcached 0.1.0. |
memcached.use_sasl | Off | PHP_INI_SYSTEM | Доступно с memcached 2.2.0. Удалено в memcached 3.0.0. |
memcached.default_binary_protocol | Off | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.default_connect_timeout | 0 | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.default_consistent_hash | Off | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.sess_binary_protocol | On | PHP_INI_ALL | Доступно с memcached 3.0.0. Заменено на memcached.sess_binary. |
memcached.sess_connect_timeout | 1000 | PHP_INI_ALL | Доступно с memcached 2.2.0. |
memcached.sess_consistent_hash_type | ketama | PHP_INI_ALL | Доступно с memcached 3.1.0. |
memcached.sess_lock_expire | 0 | PHP_INI_ALL | Доступно с memcached 2.2.0. |
memcached.sess_lock_retries | 5 | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.sess_lock_wait_max | 150 | PHP_INI_ALL | Доступно с memcached 3.0.0. Значение по умолчанию 150 с memcached 3.1.0 (previously 2000). |
memcached.sess_lock_wait_min | 150 | PHP_INI_ALL | Доступно с memcached 3.0.0. Значение по умолчанию 150 с memcached 3.1.0 (previously 1000). |
memcached.sess_persistent | Off | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.sess_remove_failed_servers | Off | PHP_INI_ALL | Доступно с memcached 3.0.0. Заменено на memcached.sess_remove_failed. |
memcached.sess_server_failure_limit | 0 | PHP_INI_ALL | Доступно с memcached 3.0.0. |
memcached.sess_sasl_password | null | PHP_INI_ALL | Доступно с memcached 2.2.0. |
memcached.sess_sasl_username | null | PHP_INI_ALL | Доступно с memcached 2.2.0. |
memcached.store_retry_count | 2 | PHP_INI_ALL | Доступно с memcached 2.2.0. |
Краткое разъяснение конфигурационных директив.
memcached.sess_locking
bool
Использовать блокировку сессий. Допустимые значения: On, Off. По умолчанию
memcached.sess_consistent_hash
bool
Если включено, то для обработки сессий будет использовано согласованное хеширование. При использовании согласованного хеширования можно добавлять или удалять узлы кеширования без больших потерь кешированных ключей. По умолчанию On.
memcached.sess_binary
bool
Использовать бинарный режим сессии.Реплики libmemcached работают только если включён этот режим. По умолчанию Off.
memcached.sess_lock_wait
int
Время ожидания повторной синхронизации сессии в микросекундах. При установке этого значения будьте осторожны. Допустимы целочисленные значения. Если установлено как 0, то используется значение по умолчанию. Отрицательные значения уменьшают блокировку попытки блокировки. По умолчанию 150000.
memcached.sess_prefix
string
Префикс ключа сессии. Строка длиной не более 219 байт. По умолчанию "memc.sess.key."
memcached.sess_number_of_replicas
int
Записывать данные на ряд дополнительных серверов memcached. Это "высокая доступность для бедняков", как её называет libmemcached. Если это значение положительное, и активирован режим sessions_remove_failed_servers, когда сервер memcached выходит из строя, сессия будет по-прежнему доступна из реплики. Однако, если отказавший сервер memcache снова становится доступным, он будет читать сессию оттуда, которая может иметь старые данные или вообще не иметь данных. По умолчанию 0.
memcached.sess_randomize_replica_read
bool
Случайное чтение реплики memcached сессией.
memcached.sess_remove_failed
int
Разрешить автоматическое удаление недоступных серверов memcached.
memcached.compression_type
string
Настройка типа сжатия, корректные значения: fastlz, zlib. По умолчанию fastlz.
memcached.compression_factor
float
Коэффициент сжатия. Хранить значения сжатыми только если коэффициент
сжатия превышает заданный. Храним сжатым если:
plain_len > comp_len * factor
. По умолчанию 1.3 (экономия места 23%).
memcached.compression_threshold
int
Порог сжатия. Не сжимать сериализованные значения меньше указанного размера. По умолчанию 2000 bytes.
memcached.serializer
string
Настройка сериализатора по умолчанию для новых объектов memcached. Допустимые значения: php, igbinary, json, json_array, msgpack.
Стандартное кодирование JSON. Этот сериализатор быстрый и компактный, но работает только с данными в UTF-8 и не полностью реализует сериализацию. Подробности смотрите в описании модуле JSON. Доступно с memcached 0.2.0.
Тот же json, но раскодируется в массивы. Доступно с memcached 2.0.0.
Стандартный сериализатор PHP.
Бинарный сериализатор. Доступно с memcached 0.1.4
Межъязыковой двоичный сериализатор. Доступно с memcached 2.2.0.
По умолчанию igbinary, если доступен, затем igbinary, если доступен, иначе PHP.
memcached.use_sasl
bool
Использовать аутентификацию SASL при соединении. Допустимые значения: On, Off. По умолчанию Off.
memcached.default_binary_protocol
bool
Устанавливает протокол memcached по умолчанию для новых подключений. (Чтобы настроить протокол memcached для соединений, используемых сессиями, используйте вместо него memcached.sess_binary_protocol) Если установлено значение On, по умолчанию используется двоичный протокол memcached. Если установлено значение Off, используется текстовый протокол memcached. По умолчанию Off
memcached.default_connect_timeout
int
Устанавливает время ожидания соединения memcached по умолчанию для новых соединений. (Чтобы настроить время ожидания соединения memcached для сессий, используйте вместо этого memcached.sess_connect_timeout) В неблокирующем режиме это изменяет значение времени ожидания во время подключения к сокету в миллисекундах. Указание -1 означает бесконечное время ожидания. Указание 0 означает использование времени ожидания соединения по умолчанию для библиотеки memcached. По умолчанию 0.
memcached.default_consistent_hash
bool
Устанавливает значение по умолчанию для согласованного хеширования для новых подключений. (Чтобы настроить согласованное хеширование для сессий, используйте вместо этого memcached.sess_consistent_hash) Если установлено значение On, для обработки сессии используется согласованное хеширование (libketama). Когда используется согласованное хеширование, можно добавлять или удалять узлы кеша, не беспокоясь о том, что существующие ключи по умолчанию отключены.
memcached.sess_binary_protocol
bool
Используйте двоичный протокол memcached для сессий memcached (вместо текстового протокола). Реплики libmemcached работают, только если включён двоичный режим. Однако некоторые прокси (например, twemproxy) будут работать, только если двоичный протокол отключён. В более старых версиях php-memcached этот параметр был выключен и назывался memcached.sess_binary. По умолчанию включено с libmemcached 1.0.18 или новее. По умолчанию в старой версии отключено.
memcached.sess_connect_timeout
int
Значение времени ожидания соединения memcached В неблокирующем режиме это изменяет значение времени ожидания во время соединения сокета в миллисекундах. Указание -1 означает бесконечное время ожидания.
memcached.sess_consistent_hash_type
string
Тип согласованного хеширования сессии Memcached. Если установлено значение 'ketama' (по умолчанию для php-memcached 3.x), для обработки сессии используется согласованное хеширование libketama, если установлено значение 'ketama_weighted' (по умолчанию для php-memcached 2.x), для обработки сессии используется взвешенное согласованное хеширование (libketama). По умолчанию - "ketama".
memcached.sess_lock_expire
int
Время в секундах до того, как должна сработать блокировка. Установка в 0 приводит к поведению по умолчанию, которое заключается в использовании PHP max_execution_time. По умолчанию 0.
memcached.sess_lock_retries
int
Количество попыток повторной блокировки блокировки сессии, не включая первую попытку. По умолчанию 5.
memcached.sess_lock_wait_max
int
Максимальное время ожидания в миллисекундах между попытками блокировки сессии. По умолчанию 150.
memcached.sess_lock_wait_min
int
Минимальное время ожидания в миллисекундах между попытками блокировки сессии. Это значение удваивается при каждой попытке блокировки до тех пор, пока не будет достигнута memcached.sess_lock_wait_max, после чего любые дальнейшие попытки будут занимать sessions_lock_wait_max секунд. По умолчанию 150.
memcached.sess_persistent
bool
Следует ли повторно использовать соединения memcached, соответствующие значению (значениям) session.save_path после завершения выполнения скрипта. Не используйте это, если определённые настройки (например, настройки SASL, sess_binary_protocol) будут переопределены между запросами. По умолчанию Off.
memcached.sess_remove_failed_servers
bool
Разрешить автоматическое удаление отказавшего сервера memcached. По умолчанию Off. (В предыдущих версиях этот параметр назывался memcached.sess_remove_failed)
memcached.sess_server_failure_limit
int
Установите это значение, чтобы разрешить удаление сервера после заданного количества непрерывных сбоев подключения. По умолчанию 0.
memcached.sess_sasl_password
string
Пароль сессии SASL Для включения SASL необходимо указать имя пользователя и пароль.
memcached.sess_sasl_username
string
Имя пользователя сессии SASL Для включения SASL необходимо указать имя пользователя и пароль.
memcached.store_retry_count
int
Количество повторных попыток для неудачных команд сохранения. Этот механизм обеспечивает прозрачное переключение на вторичные серверы при сбое операций set/increment/decrement/setMulti на желаемом сервере в среде c множеством серверов. по умолчанию — 2