Установка
Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » https://pecl.php.net/package/tokyo_tyrant
Параметры конфигурации
--with-tokyo-tyrant[=DIR]
DIR - это префикс установки Tokyo Tyrant.--with-tokyo-cabinet-dir[=DIR]
DIR - это префикс установки Tokyo Cabinet--disable-tokyo-tyrant-session
Отключить поддержку обработчика сеансов Tokyo Tyrant
Включение модуля
Модуль можно включить, добавив extension=tokyo_tyrant.so
в INI-конфигурацию
Запуск Tokyo Tyrant для обработчика сессии
ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'
Замечание: expire.lua включен в исходный код модуля tokyo_tyrant
Настройка обработчика сессии
- tokyo_tyrant.session_salt="randomlongstring"
- session.save_handler=tokyo_tyrant
- session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"
Замечание: Важно убедиться, что tokyo_tyrant.session_salt совпадает на всех серверах.
Как это работает?
Обработчик сессии создает идентификатор сеанса, подобный следующему: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460
Части слева направо:
Идентификатор сессии
- Сгенерированный идентификатор сессииКонтрольная сумма
- Контрольная сумма соли сессии, идентификатора сессии, идентификатора узла и первичного ключаИдентификатор узла
- Идентификатор узла, с которым сопоставляется сеансПервичный ключ
- Первичный ключ строки, в которой хранится сессия
Контрольная сумма содержит SHA1-сумму идентификатора узла, первичного ключа, идентификатора сессии и соли, которая известна только на стороне сервера. Это позволяет быстро сопоставить идентификатор сессии с узлом и первичным ключом, поскольку нет необходимости выполнять дополнительный поиск. Во время регенерации идентификатора сессии меняются только части 1 и 2, но отображение узла и первичного ключа остается постоянным.
В случае сбоя некоторых узлов tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold и tokyo_tyrant.health_check_divisor INI-настройки управляют поведением во время аварийного переключения. Если переключение разрешено, обработчик сессии сопоставит сессию с исправным узлом и создаст новую пустую сессию.