## 実行時設定

php.ini の設定により動作が変化します。

Memcached 設定オプション
名前 | デフォルト | 変更可能 | 変更履歴
--- | --- | --- | ---
memcached.sess_locking | 1 | PHP_INI_ALL |
memcached.sess_consistent_hash | 0 | PHP_INI_ALL |
memcached.sess_binary | 0 | PHP_INI_ALL |
memcached.sess_lock_wait | 150000 | PHP_INI_ALL |
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL |
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL |
memcached.sess_randomize_replica_read | 0 | PHP_INI_ALL |
memcached.sess_remove_failed | 0 | PHP_INI_ALL |
memcached.compression_type | fastlz | PHP_INI_ALL |
memcached.compression_factor | 1.3 | PHP_INI_ALL |
memcached.compression_threshold | 2000 | PHP_INI_ALL |
memcached.serializer | php | PHP_INI_ALL |
memcached.use_sasl | 0 | PHP_INI_SYSTEM |

以下に設定ディレクティブに関する 簡単な説明を示します。

`memcached.sess_locking` integer

  セッション単位のロックを使う。設定値として On, Off が使えます。デフォルトは ON です。

`memcached.sess_consistent_hash` integer

  セッション管理の コンシステント・ハッシュ モードです。 On にすると、セッション管理にコンシステント・ハッシュ法を使います。 コンシステント・ハッシュ法を使うと、既存のキーに煩わされることなく ノードを追加したり削除したりできます。デフォルトは Off です。

`memcached.sess_binary` integer

  セッション管理にmemcachedのバイナリプロトコルを使います。 Libmemcached のレプリカはこのバイナリモードが有効になっている場合にのみ動作します。 デフォルトは Off です。

`memcached.sess_lock_wait` integer

  セッションデータを書き込むときの spin lock の待ち時間をマイクロ秒単位で指定します。 この値を設定するときは注意してください。数値の値が設定できますが、 0 はデフォルトの値を使うと解釈されます。負の値を設定するとロックを掛けようと試みる 回数が減ってしまいます。デフォルトは 150000 です。

`memcached.sess_prefix` string

  セッション管理に使うキーのプレフィックスです。 219バイト以下の文字列が使えます。デフォルトの値は "memc.sess.key" です。

`memcached.sess_number_of_replicas` integer

  セッションデータのレプリカの数です。

`memcached.sess_randomize_replica_read` integer

  複数のサーバのレプリカからセッションデータを読み取る際、読み取りを始める最初のサーバをランダムに選ぶかを指定します。

`memcached.sess_remove_failed` integer

  通信に失敗した memcached サーバを自動的にサーバリストから外すかを指定します。

`memcached.compression_type` string

  圧縮のタイプを指定します。fastlz か zlib が指定できます。デフォルトは fastlz です。

`memcached.compression_factor` float

  圧縮係数。圧縮後のサイズが圧縮係数の限界値を超えていた場合にだけ値を圧縮して保存します。 元のサイズ > 圧縮後のサイズ * 圧縮係数の場合にだけ値を圧縮して保存します。 デフォルト値は 1.3 (23%強の圧縮率) です。

`memcached.compression_threshold` integer

  圧縮のしきい値。このしきい値を下回るシリアライズ済みの値は圧縮しません。 デフォルトは2000バイトです。

`memcached.serializer` string

  新しい memcached オブジェクトのデフォルトのシリアライザを設定します。設定値として php, igbinary, json, json_array が使えます。

  json

    標準的な JSON を使います。このシリアライザは高速でコンパクトですが、UTF-8 でエンコードされたデータでしか動作しませんし、完全なシリアライズを実装していません。詳細は JSONエクステンション を参照して下さい。

  json_array

    json と同じですが、シリアライズしたデータを配列に入れます。

  php

    標準的なPHPのシリアライザです。

  igbinary

    バイナリデータのシリアライザです。

  デフォルトは 利用可能な場合 igbinary です。 利用できない場合は php がデフォルトになります。

`memcached.use_sasl` integer

  接続時に SASL認証 を使います。設定値として On, Off が使えます。デフォルトは Off です。