CakeFest 2024: The Official CakePHP Conference

実行時設定

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

Memcache 設定オプション
名前 デフォルト 変更可能 変更履歴
memcache.allow_failover "1" INI_ALL memcache 2.0.2 以降で使用可能です
memcache.max_failover_attempts "20" INI_ALL memcache 2.1.0 以降で使用可能です
memcache.chunk_size "8192" INI_ALL memcache 2.0.2 以降で使用可能です
memcache.default_port "11211" INI_ALL memcache 2.0.2 以降で使用可能です
memcache.hash_strategy "standard" INI_ALL memcache 2.2.0 以降で使用可能です
memcache.hash_function "crc32" INI_ALL memcache 2.2.0 以降で使用可能です
memcache.protocol ascii INI_ALL memcache 3.0.0 以降で使用可能です
memcache.redundancy 1 INI_ALL memcache 3.0.0 以降で使用可能です
memcache.session_redundancy 2 INI_ALL memcache 3.0.0 以降で使用可能です
memcache.compress_threshold 20000 INI_ALL memcache 3.0.3 以降で使用可能です
memcache.lock_timeout 15 INI_ALL memcache 3.0.4 以降で使用可能です
Memcache の振る舞いに影響する、セッションの設定オプション
名前 デフォルト 変更可能 変更履歴
session.save_handler "files" INI_ALL memcache 2.1.2 以降で利用可能です
session.save_path "" INI_ALL memcache 2.1.2 以降で利用可能です
INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。

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

memcache.allow_failover bool

エラー時に、透過的なフェイルオーバーを行うかどうかを指定します。

memcache.max_failover_attempts int

データの設定や取得を試みるサーバーの数を指定します。 memcache.allow_failover を指定した場合にのみ使用します。

memcache.chunk_size int

データは、ここで指定した大きさに分割されます。 この値を小さくすると、ネットワークに対する書き込みが多くなります。 不可解な速度低下が発生する場合は、この値を 32768 まで大きくしてください。

memcache.default_port string

memcached サーバーに接続する際に、 デフォルトで使用される TCP ポート番号。

memcache.hash_strategy string

キーをサーバーと関連づけるために使用する方式を制御します。この値を consistent にすると、一貫したハッシュを使用します。 これにより、サーバーを追加したり削除したりした際にキーの再マッピングの必要がなくなります。 この値を standard にすると、以前の方法を使用します。

memcache.hash_function string

キーをサーバーに関連づける際に使用するハッシュ関数を制御します。 crc32 は標準の CRC32 ハッシュを、そして fnv は FNV-1a を使用します。

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

session.save_handler string

memcache をセッションハンドラとして使用するには、この値を memcache と設定します。

session.save_path string

"tcp://host1:11211, tcp://host2:11211". セッションを格納するためのサーバーの URL を、カンマ区切りで指定します。 たとえば "tcp://host1:11211, tcp://host2:11211" のようになります。

個々の URL には、そのサーバー用のパラメータを含めることができます。 これは Memcache::addServer() メソッドと同じ形式です。 たとえば "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15" のようになります。

add a note

User Contributed Notes 1 note

up
-3
kross at escapistmag dot com
14 years ago
There's a currently undocumented variable that is now available (you can see it in php_info()) for session handling:

memcache.session_redundancy

The default seems to be "2", and it is supposed to influence how many copies of a particular session object that Memcache will store for failover purposes (so with a redundancy of 2, it will store a session on 2 different shards).

This will add slight overhead with extra writes, but overall seems worth it for purposes of failover.
To Top