CakeFest 2024: The Official CakePHP Conference

Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Memcache-Konfigurationsoptionen
Name Standard Veränderbar Changelog
memcache.allow_failover "1" INI_ALL Verfügbar seit Memcache 2.0.2.
memcache.max_failover_attempts "20" INI_ALL Verfügbar seit Memcache 2.1.0.
memcache.chunk_size "8192" INI_ALL Verfügbar seit Memcache 2.0.2.
memcache.default_port "11211" INI_ALL Verfügbar seit Memcache 2.0.2.
memcache.hash_strategy "standard" INI_ALL Verfügbar seit Memcache 2.2.0.
memcache.hash_function "crc32" INI_ALL Verfügbar seit Memcache 2.2.0.
memcache.protocol ascii INI_ALL Unterstützt seit Memcache 3.0.0
memcache.redundancy 1 INI_ALL Unterstützt seit Memcache 3.0.0
memcache.session_redundancy 2 INI_ALL Unterstützt seit Memcache 3.0.0
memcache.compress_threshold 20000 INI_ALL Unterstützt seit Memcache 3.0.3
memcache.lock_timeout 15 INI_ALL Wird seit Memcache 3.0.4 unterstützt
Session-Konfigurationsoptionen, die das Memcache-Verhalten beeinflussen
Name Standard Veränderbar Changelog
session.save_handler "files" INI_ALL Wird seit Memcache 2.1.2 unterstützt
session.save_path "" INI_ALL Wird seit Memcache 2.1.2 unterstützt
Weitere Details und die Definitionen der INI_*-Konstanten sind unter Wo Konfigurationseinstellungen gesetzt werden können zu finden.

Hier eine kurze Erklärung der Konfigurationsoptionen:

memcache.allow_failover bool

Bestimmt, ob bei einem Fehler auf andere Server ausgewichen werden soll.

memcache.max_failover_attempts int

Gibt an, wie viele Server angefragt werden sollen, um Daten zu lesen oder zu schreiben. Diese Einstellung wird nur verwendet, wenn memcache.allow_failover aktiviert wurde.

memcache.chunk_size int

Daten werden in Blöcken dieser Größe (in Bytes) übertragen. Ein niedrigerer Wert erfordert mehr Schreibvorgänge im Netzwerk. Versuchen Sie diesen Wert auf 32768 zu erhöhen, wenn Sie sonst unerklärliche Verzögerungen bemerken.

memcache.default_port string

Der Standard-Port, welcher für den Verbindungsaufbau verwendet wird, sofern kein anderer Port angegeben wurde.

memcache.hash_strategy string

Bestimmt die Strategie, die verwendet wird, um Schlüssel auf dem Server abzubilden. Der Wert consistent steht für konsistentes Hashing. Dies bedeutet, dass Server jederzeit zum Server-Pool hinzugefügt oder entfernt werden können, ohne die Schlüssel erneut zuzuweisen. Der Wert standard hingegen verwendet die alte Hash-Strategie.

memcache.hash_function string

Bestimmt die Hash-Funktion, die für die Verteilung der Schlüssel auf die Server verwendet wird. Mögliche Werte sind crc32 für den CRC32-Hash-Algorithmus oder fnv für die Verwendung von FNV-1a.

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

session.save_handler string

Um Memcache als Sessionhandler zu verwenden, muss dieser Wert auf memcache gesetzt werden.

session.save_path string

Definiert eine durch Komma getrennte Liste von Server-URLs, die für die Speicherung von Sessions verwendet wird, z. B. "tcp://host1:11211, tcp://host2:11211".

Jede URL kann die gleichen Parameter enthalten, die auch für Memcache::addServer() verwendet werden können, z. B. "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