インストール手順

この 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 セッションハンドラのサポートを無効にする

この拡張モジュールの有効化

この拡張モジュールを使うには、INI 設定に extension=tokyo_tyrant.so を追加します。

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 はすべてのサーバー上でマッチしなければなりません。

動作原理

このセッションハンドラは、次のようなセッション ID を作成します。 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

各パートは、左から順に次のような意味となります。

  • セッション ID - 生成されたセッション ID
  • チェックサム - セッションの salt、セッション ID、ノード ID そして主キーのチェックサム
  • ノード ID - セッションが対応付けられるノードの ID
  • 主キー - セッションが格納される行の主キー

チェックサムは、ノード ID、主キー、セッション ID そして salt の SHA1 サムとなります。 これを使うことで、セッション ID からノードや主キーへのマッピングが高速に行えるようになります。 わざわざ検索する必要がないからです。セッション ID を再生成すると最初のふたつの部分が変わりますが、 ノードと主キーのマッピングはそのままとなります。

一部のノードがダウンしたときのフェイルオーバー処理は、INI 設定 tokyo_tyrant.allow_failovertokyo_tyrant.fail_threshold および tokyo_tyrant.health_check_divisor で制御します。フェイルオーバーが許可されると、 セッションハンドラは正常なノードにセッションをマップして新たに空のセッションを作成します。