実行時設定
php.ini の設定により動作が変化します。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
memcached.sess_locking | On | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.sess_consistent_hash | On | INI_ALL |
memcached 2.1.0 以降で利用可能です。memcached 3.0.0 以降は、デフォルト値は On です。 |
memcached.sess_binary | Off | INI_ALL |
memcached 2.0.0 以降で利用可能です。memcached 3.0.0 以降は、memcached.sess_binary_protocol に置き換えられました。 |
memcached.sess_lock_wait | 150000 | INI_ALL |
memcached 0.1.0 以降で利用可能ですが、memcached 3.0.0 以降では削除されています。 |
memcached.sess_prefix | memc.sess.key. | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.sess_number_of_replicas | 0 | INI_ALL |
memcached 2.1.0 以降で利用可能です。 |
memcached.sess_randomize_replica_read | Off | INI_ALL |
memcached 2.1.0 以降で利用可能です。 |
memcached.sess_remove_failed | On | INI_ALL |
memcached 2.1.0 以降で利用可能です。memcached 3.0.0 以降は、memcached.sess_remove_failed_servers に置き換えられました。 |
memcached.compression_type | fastlz | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.compression_factor | 1.3 | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.compression_threshold | 2000 | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.serializer | igbinary | INI_ALL |
memcached 0.1.0 以降で利用可能です。 |
memcached.use_sasl | Off | INI_ALL |
memcached 2.2.0 以降で利用可能ですが、memcached 3.0.0 以降では削除されています。 |
memcached.default_binary_protocol | Off | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.default_connect_timeout | 0 | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.default_consistent_hash | Off | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.sess_binary_protocol | On | INI_ALL |
memcached 3.0.0 以降で利用可能です。memcached.sess_binary を置き換えるものです。 |
memcached.sess_connect_timeout | 1000 | INI_ALL |
memcached 2.2.0 以降で利用可能です。 |
memcached.sess_consistent_hash_type | ketama | INI_ALL |
memcached 3.1.0 以降で利用可能です。 |
memcached.sess_lock_expire | 0 | INI_ALL |
memcached 2.2.0 以降で利用可能です。 |
memcached.sess_lock_retries | 5 | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.sess_lock_wait_max | 150 | INI_ALL |
memcached 3.0.0 以降で利用可能です。デフォルト値は memcached 3.1.0 以降は 150 です (それより前のバージョンでは 2000 でした)。 |
memcached.sess_lock_wait_min | 150 | INI_ALL |
memcached 3.0.0 以降で利用可能です。デフォルト値は memcached 3.1.0 以降は 150 です (それより前のバージョンでは 1000 でした)。 |
memcached.sess_persistent | Off | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.sess_remove_failed_servers | Off | INI_ALL |
memcached 3.0.0 以降で利用可能です。memcached.sess_remove_failed を置き換えるものです。 |
memcached.sess_server_failure_limit | 0 | INI_ALL |
memcached 3.0.0 以降で利用可能です。 |
memcached.sess_sasl_password | null | INI_ALL |
memcached 2.2.0 以降で利用可能です。 |
memcached.sess_sasl_username | null | INI_ALL |
memcached 2.2.0 以降で利用可能です。 |
memcached.store_retry_count | 0 | INI_ALL |
memcached 2.2.0 以降で利用可能です。
memcached 3.2.0 以降では、デフォルト値は 0 です。
(それより前のバージョンでは、2 でした)
|
以下に設定ディレクティブに関する 簡単な説明を示します。
-
memcached.sess_locking
bool -
セッション単位のロックを使う。設定値として
On
,Off
が使えます。デフォルトはOn
です。 -
memcached.sess_consistent_hash
bool -
On
にすると、セッション管理に コンシステント・ハッシュ法 (libketama) を使います。 コンシステント・ハッシュ法を使うと、既存のキーに煩わされることなく ノードを追加したり削除したりできます。デフォルトはOn
です。 -
memcached.sess_binary
bool -
セッション管理にmemcachedのバイナリプロトコルを使います。 Libmemcached のレプリカはこのバイナリモードが有効になっている場合にのみ動作します。 デフォルトは
Off
です。 -
memcached.sess_lock_wait
int -
セッションデータを書き込むときの spin lock の待ち時間をマイクロ秒単位で指定します。 この値を設定するときは注意してください。数値の値が設定できますが、
0
はデフォルトの値を使うと解釈されます。負の値を設定するとロックを掛けようと試みる 回数が減ってしまいます。デフォルトは150000
です。 -
memcached.sess_prefix
string -
セッション管理に使うキーのプレフィックスです。 219バイト以下の文字列が使えます。デフォルトの値は
memc.sess.key
です。 -
memcached.sess_number_of_replicas
int -
データを書き込む、 追加の memcached サーバーの数を指定します。 これは、libmemcached が "poor man's HA" と呼んでいるものです。 この値が0より大きく、
sess_remove_failed_servers
が 有効な場合、 memcached サーバーがダウンした時にセッションはレプリカを使って継続されます。 しかし、ダウンした memcached サーバーが再び復帰した場合は、 セッションは古いデータを持つセッションを読みとる場合もありますし、 データを全く読み取れない場合もあります。デフォルト値は0
です。 -
memcached.sess_randomize_replica_read
bool -
複数のサーバーのレプリカからセッションデータを読み取る際、読み取りを始める最初のサーバーをランダムに選ぶかを指定します。
-
memcached.sess_remove_failed
int -
通信に失敗した memcached サーバーを自動的にサーバーリストから外すかを指定します。
-
memcached.compression_type
string -
圧縮のタイプを指定します。
fastlz
,zlib
が指定できます。デフォルトはfastlz
です。 -
memcached.compression_factor
float -
圧縮係数。圧縮後のサイズが圧縮係数の限界値を超えていた場合にだけ値を圧縮して保存します。
元のサイズ > 圧縮後のサイズ * 圧縮係数
の場合にだけ値を圧縮して保存します。 デフォルト値は1.3
(23%強の圧縮率) です。 -
memcached.compression_threshold
int -
圧縮のしきい値。このしきい値を下回るシリアライズ済みの値は圧縮しません。 デフォルトは
2000
バイトです。 -
memcached.serializer
string -
新しい memcached オブジェクトのデフォルトのシリアライザを設定します。設定値として
php
,igbinary
,json
,json_array
,msgpack
が使えます。- json
-
標準的な JSON を使います。このシリアライザは高速でコンパクトですが、UTF-8 でエンコードされたデータでしか動作しませんし、完全なシリアライズを実装していません。詳細は JSON拡張モジュール を参照ください。 memcached 0.2.0 以降で利用可能です。
- json_array
-
json
と同じですが、シリアライズしたデータを配列に入れます。 memcached 2.0.0 以降で利用可能です。 - php
-
標準的なPHPのシリアライザです。
- igbinary
-
バイナリデータのシリアライザです。 memcached 0.1.4 以降で利用可能です。
- msgpack
-
言語に依存しない、バイナリデータのシリアライザです。 memcached 2.2.0 以降で利用可能です。
デフォルトは 利用可能な場合
igbinary
です。 igbinary が利用できない場合はmsgpack
が(利用可能な場合のみ) デフォルトになります。 いずれも利用できない場合は、php
がデフォルトになります。