CakeFest 2024: The Official CakePHP Conference

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration memcache
Nom Défaut Modifiable Historique
memcache.allow_failover "1" INI_ALL Disponible à partir de memcache 2.0.2.
memcache.max_failover_attempts "20" INI_ALL Disponible à partir de memcache 2.1.0.
memcache.chunk_size "8192" INI_ALL Disponible à partir de memcache 2.0.2.
memcache.default_port "11211" INI_ALL Disponible à partir de memcache 2.0.2.
memcache.hash_strategy "standard" INI_ALL Disponible à partir de memcache 2.2.0.
memcache.hash_function "crc32" INI_ALL Disponible à partir de memcache 2.2.0.
memcache.protocol ascii INI_ALL Supporté à partir de memcache 3.0.0
memcache.redundancy 1 INI_ALL Supporté à partir de memcache 3.0.0
memcache.session_redundancy 2 INI_ALL Supporté à partir de memcache 3.0.0
memcache.compress_threshold 20000 INI_ALL Supporté à partir de memcache 3.0.3
memcache.lock_timeout 15 INI_ALL Supporté à partir de memcache 3.0.4
Options de Configurations de Session Affectant le Comportement de Memcache
Nom Défaut Modifiable Historique
session.save_handler "files" INI_ALL Supporté à partir de memcache 2.1.2
session.save_path "" INI_ALL Supporté à partir de memcache 2.1.2
Pour plus de détails sur les modes INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

memcache.allow_failover bool

Si l'on doit basculer sur d'autres serveurs en cas d'erreur.

memcache.max_failover_attempts int

Définit combien de serveurs à essayer lorsque l'on fixe ou récupère des données. Utilisez seulement en conjonction avec memcache.allow_failover.

memcache.chunk_size int

Les données doivent être transférées en morceaux de cette taille ; Configurer cette valeur à une petite valeur provoque plus d'écritures sur le réseau. Essayez d'augmenter cette valeur à 32768 si vous rencontrez des ralentissements inexplicables.

memcache.default_port string

Le numéro du port TCP par défaut à utiliser lors de la connexion au serveur memcache si aucun autre port n'est spécifié.

memcache.hash_strategy string

Contrôle la stratégie à appliquer lors du mappage des clés sur les serveurs. Définir cette valeur à consistent pour activer la cohérence de hachage qui permet aux serveurs d'être ajoutés ou supprimés de la réserver sans pour autant avoir besoin d'effectuer un nouveau mappage des clés. Définir cette valeur à standard fera que l'ancienne stratégie sera utilisée.

memcache.hash_function string

Contrôle la fonction de hachage à appliquer lors du mappage des clés sur les serveurs, crc32 utilisera le CRC32 standard, tandis que fnv utilisera FNV-1a.

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

session.save_handler string

Utilisez memcache comme gestionnaire de session en définissant cette valeur à memcache.

session.save_path string

Définit les URL serveur, séparées par une virgule, à utiliser pour le stockage des sessions, par exemple : "tcp://host1:11211, tcp://host2:11211".

Chaque URL peut contenir des paramètres qui seront appliqués au serveur, de la même façon que pour la méthode Memcache::addServer(). Par exemple : "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