PHP 8.4.0 RC4 available for testing

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Memcached::OPT_COMPRESSION

Active ou désactive la compression du contenu. Si elle est activée, les éléments qui dépassent une taille (actuellement 100 octets), seront compressés durant le stockage, et décompressés au déstockage, de manière transparente.

Type : booléen, par défaut : true.

Memcached::OPT_SERIALIZER

Spécifie la fonction de sérialisation à utiliser pour les valeurs non scalaires. Les fonctions valides sont Memcached::SERIALIZER_PHP et Memcached::SERIALIZER_IGBINARY. Le dernier n'est supporté que si memcached est configuré avec l'option --enable-memcached-igbinary et que l'extension igbinary est chargée.

Type : entier, par défaut : Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

La fonction de sérialisation par défaut de PHP.

Memcached::SERIALIZER_IGBINARY

La fonction » igbinary. Au lieu d'une représentation textuelle, cette fonction stocke les structures PHP dans un format compact et binaire, avec un gain de temps et d'espace.

Memcached::SERIALIZER_JSON

La fonction de sérialisation JSON.

Memcached::OPT_PREFIX_KEY

Cette option peut être utilisée pour créer un "domaine" pour vos clés. La valeur spécifiée ici sera préfixée à chaque clé. Elle ne peut pas être plus longue que 128 caractères, et réduira d'autant la taille maximale de clé disponible. Le préfixe est appliqué uniquement aux clés d'élément, et non pas aux clés de serveur.

Type : chaîne de caractères, par défaut : "".

Memcached::OPT_HASH

Spécifie l'algorithme de hachage utilisé pour les clé. Les valeurs valides sont fournies avec les constantes Memcached::HASH_*. Chaque algorithme de hachage a ses avantages et inconvénients. Utilisez celui qui est donné par défaut, si vous ne comprenez pas, ou que peu vous importe.

Type : entier, par défaut : Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

L'algorithme par défaut (Jenkins one-at-a-time) de hachage.

Memcached::HASH_MD5

L'algorithme de hachage par MD5

Memcached::HASH_CRC

L'algorithme de hachage par CRC

Memcached::HASH_FNV1_64

L'algorithme de hachage par FNV1_64

Memcached::HASH_FNV1A_64

L'algorithme de hachage par FNV1_64A

Memcached::HASH_FNV1_32

L'algorithme de hachage par FNV1_32

Memcached::HASH_FNV1A_32

L'algorithme de hachage par FNV1_32A

Memcached::HASH_HSIEH

L'algorithme de hachage par Hsieh

Memcached::HASH_MURMUR

L'algorithme de hachage par Murmur

Memcached::OPT_DISTRIBUTION

Spécifie la méthode de distribution des clés sur les serveurs. Actuellement, cette option supporte les modulo et le hachage cohérent. Le hachage cohérent fournit la meilleure distribution, et permet aux serveurs d'être ajouté au groupe avec un minimum de pertes de cache.

Type : entier, par défaut : Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

L'algorithme de distribution par modulo

Memcached::DISTRIBUTION_CONSISTENT

L'algorithme de distribution par hachage cohérent

Memcached::OPT_LIBKETAMA_COMPATIBLE

Active ou non la compatibilité avec le comportement type libketama. Quand cette option est activée, l'algorithme de hachage est MD5, et la distribution est le hachage cohérent. Ceci est pratique car d'autres client qui utilisent libketama (Python, Ruby, etc.) avec la même configuration serveur seront capables d'utiliser les mêmes clés, de manière transparente.

Note:

Cette option est hautement recommandée, si vous voulez utiliser le hachage cohérent, et il est probable qu'elle soit activée par défaut dans de futures versions.

Type : booléen, par défaut : false.

Memcached::OPT_BUFFER_WRITES

Active ou non la bufferisation d'entrée / sortie. La bufferisation fait que les commandes de stockage mettent en buffer, au lieu de faire des envois. Toute action qui lit des données fait que le buffer d'écriture est envoyé au serveur distant. La fermeture de la connexion ou son arrêt vont aussi forcer l'envoi des données du buffer.

Type : booléen, par défaut : false.

Memcached::OPT_BINARY_PROTOCOL

Activez cette option pour utiliser le protocole binaire. Notez que vous ne pouvez pas changer cette option pour une connexion déjà ouverte.

Type : booléen, par défaut : false.

Memcached::OPT_NO_BLOCK

Active ou non les transferts asynchrones. Ceci est le mode de transfert le plus rapide, pour les fonctions de stockage.

Type : booléen, par défaut : false.

Memcached::OPT_NOREPLY

Active ou désactive l'ignoration du résultat des commendes de stockage (set, add, replace, append, prepend, delete, increment, decrement, etc.). Les commendes de stockage seront envoyé sans passer du temps à attendre pour une réponse (il n'y aurait pas de réponse). Les commandes de récupérations tel que Memcached::get() ne sont pas affecté par ce paramètrage.

Type: booléen, par défaut : false.

Memcached::OPT_TCP_NODELAY

Active ou non les connexions sans délai des sockets (cela peut être un gain de performances dans certains environnements.

Type : booléen, par défaut : false.

Memcached::OPT_SOCKET_SEND_SIZE

La taille maximale du buffer d'envoi par socket, en octets.

Type : entier, par défaut : varie par plate-forme et configuration du noyau.

Memcached::OPT_SOCKET_RECV_SIZE

La taille maximale du buffer de réception par socket, en octets.

Type : entier, par défaut : varie par plate-forme et configuration du noyau.

Memcached::OPT_CONNECT_TIMEOUT

En mode non-bloquant, cette option configure le délai d'expiration durant la connexion du socket, en millisecondes.

Type : entier, par défaut : 1000.

Memcached::OPT_RETRY_TIMEOUT

La durée, en secondes, d'attente avant de tenter à nouveau une connexion qui a échouée.

Type : entier, par défaut : 0.

Memcached::OPT_SEND_TIMEOUT

Délai d'expiration d'envoi pour le socket, en microsecondes. Dans les cas où vous utilisez un socket non bloquant, cela vous permettra d'avoir des délais d'expiration en envoi de données, malgré tout.

Type : entier, par défaut : 0.

Memcached::OPT_RECV_TIMEOUT

Délai d'expiration de réception pour le socket, en microsecondes. Dans les cas où vous utilisez un socket non bloquant, cela vous permettra d'avoir des délais d'expiration en réception de données, malgré tout.

Type : entier, par défaut : 0.

Memcached::OPT_POLL_TIMEOUT

Délai d'expiration pour le polling de connexions, en millisecondes.

Type : entier, par défaut : 1000.

Memcached::OPT_CACHE_LOOKUPS

Active ou non le cache de DNS.

Type : booléen, par défaut : false.

Memcached::OPT_SERVER_FAILURE_LIMIT

Spécifie la limite du nombre d'échec de connexions. Le serveur sera alors retiré de la liste après autant d'échec de connexions en succession.

Type : entier, par défaut : 0.

Memcached::HAVE_IGBINARY

Indique si le support de la fonction de sérialisation igbinary est activé.

Type : booléen.

Memcached::HAVE_JSON

Indique si la fonction de sérialisation JSON est disponible.

Type : booléen.

Memcached::HAVE_MSGPACK

Indique si le support du sérialiseur msgpack est disponible.

Type : booléen.

Disponible à partir de Memcached 3.0.0.

Memcached::HAVE_SESSION

Type : booléen.

Disponible à partir de Memcached 3.0.0.

Memcached::HAVE_SASL

Type : booléen.

Disponible à partir de Memcached 3.0.0.

Memcached::GET_EXTENDED

Un drapeau pour Memcached::get(), Memcached::getMulti() et Memcached::getMultiByKey() pour s'assurer que les valeurs du jeton CAS sont également renvoyées.

Disponible à partir de Memcached 3.0.0.

Memcached::GET_PRESERVE_ORDER

Une option pour Memcached::getMulti() et Memcached::getMultiByKey() afin de s'assurer que les clés sont retournées dans le même ordre que leur ordre de requête. Les clés inexistantes prennent alors la valeur null

Memcached::RES_SUCCESS

L'opération a réussi.

Memcached::RES_FAILURE

L'opération a échoué, d'une manière ou d'une autre.

Memcached::RES_HOST_LOOKUP_FAILURE

La recherche DNS a échoué.

Memcached::RES_UNKNOWN_READ_FAILURE

Echec de lecture sur le réseau.

Memcached::RES_PROTOCOL_ERROR

Mauvaise commande dans le protocole memcached.

Memcached::RES_CLIENT_ERROR

Erreur du coté du client.

Memcached::RES_SERVER_ERROR

Erreur du coté du serveur.

Memcached::RES_WRITE_FAILURE

Echec de l'écriture sur le réseau.

Memcached::RES_DATA_EXISTS

Echec de la comparaison et échange : l'élément que vous essayez de stocker a été modifié depuis votre dernière lecture.

Memcached::RES_NOTSTORED

L'élément n'a pas été stocké, mais pas à cause d'une erreur. Ceci est normal, et signifie qu'une condition pour un ajout "add" ou un remplacement "replace" n'a pas été satisfait, ou qu'un élément a été mise dans une queue d'effacement.

Memcached::RES_NOTFOUND

L'élément avec cette clé n'a pas été trouvé (avec une opération "get" ou "cas").

Memcached::RES_PARTIAL_READ

Erreur de lecture partielle sur le réseau.

Memcached::RES_SOME_ERRORS

Des erreurs sont survenir durant une lecture multiple.

Memcached::RES_NO_SERVERS

Liste de serveurs vide.

Memcached::RES_END

Fin de jeu de résultats.

Memcached::RES_ERRNO

Erreur système.

Memcached::RES_BUFFERED

L'opération a été bufferisée.

Memcached::RES_TIMEOUT

Le délai d'exécution de l'opération a expiré.

Memcached::RES_BAD_KEY_PROVIDED

Mauvaise clé.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Impossible de créer un socket.

Memcached::RES_PAYLOAD_FAILURE

Échec de traitement : impossible de compresser, décompresser ou sérialiser la valeur.

Memcached::RES_AUTH_PROBLEM

Disponible à partir de Memcached 3.0.0.

Memcached::RES_AUTH_FAILURE

Disponible à partir de Memcached 3.0.0.

Memcached::RES_AUTH_CONTINUE

Disponible à partir de Memcached 3.0.0.

Memcached::RES_E2BIG

Disponible à partir de Memcached 3.0.0.

Memcached::RES_KEY_TOO_BIG

Disponible à partir de Memcached 3.0.0.

Memcached::RES_SERVER_TEMPORARILY_DISABLED

Disponible à partir de Memcached 3.0.0.

Memcached::RES_SERVER_MEMORY_ALLOCATION_FAILURE

Disponible à partir de Memcached 3.0.0.

add a note

User Contributed Notes 5 notes

up
10
tyliu2 at gmail dot com
14 years ago
RES_SUCCESS = 0
RES_FAILURE = 1
RES_HOST_LOOKUP_FAILURE = 2
RES_UNKNOWN_READ_FAILURE = 7
RES_PROTOCOL_ERROR = 8
RES_CLIENT_ERROR = 9
RES_SERVER_ERROR = 10
RES_WRITE_FAILURE = 5
RES_DATA_EXISTS = 12
RES_NOTSTORED = 14
RES_NOTFOUND = 16
RES_PARTIAL_READ = 18
RES_SOME_ERRORS = 19
RES_NO_SERVERS = 20
RES_END = 21
RES_ERRNO = 26
RES_BUFFERED = 32
RES_TIMEOUT = 31
RES_BAD_KEY_PROVIDED = 33
RES_CONNECTION_SOCKET_CREATE_FAILURE = 11
RES_PAYLOAD_FAILURE = -1001
up
4
igorsantos07 no gmail
8 years ago
As per a StackOverflow answer (http://stackoverflow.com/a/9042985/102960, by @rid), this is the current list of Memcached Response constants:

00 = MEMCACHED_SUCCESS
01 = MEMCACHED_FAILURE
02 = MEMCACHED_HOST_LOOKUP_FAILURE // getaddrinfo() and getnameinfo() only
03 = MEMCACHED_CONNECTION_FAILURE
04 = MEMCACHED_CONNECTION_BIND_FAILURE // DEPRECATED see MEMCACHED_HOST_LOOKUP_FAILURE
05 = MEMCACHED_WRITE_FAILURE
06 = MEMCACHED_READ_FAILURE
07 = MEMCACHED_UNKNOWN_READ_FAILURE
08 = MEMCACHED_PROTOCOL_ERROR
09 = MEMCACHED_CLIENT_ERROR
10 = MEMCACHED_SERVER_ERROR // Server returns "SERVER_ERROR"
11 = MEMCACHED_ERROR // Server returns "ERROR"
12 = MEMCACHED_DATA_EXISTS
13 = MEMCACHED_DATA_DOES_NOT_EXIST
14 = MEMCACHED_NOTSTORED
15 = MEMCACHED_STORED
16 = MEMCACHED_NOTFOUND
17 = MEMCACHED_MEMORY_ALLOCATION_FAILURE
18 = MEMCACHED_PARTIAL_READ
19 = MEMCACHED_SOME_ERRORS
20 = MEMCACHED_NO_SERVERS
21 = MEMCACHED_END
22 = MEMCACHED_DELETED
23 = MEMCACHED_VALUE
24 = MEMCACHED_STAT
25 = MEMCACHED_ITEM
26 = MEMCACHED_ERRNO
27 = MEMCACHED_FAIL_UNIX_SOCKET // DEPRECATED
28 = MEMCACHED_NOT_SUPPORTED
29 = MEMCACHED_NO_KEY_PROVIDED /* Deprecated. Use MEMCACHED_BAD_KEY_PROVIDED! */
30 = MEMCACHED_FETCH_NOTFINISHED
31 = MEMCACHED_TIMEOUT
32 = MEMCACHED_BUFFERED
33 = MEMCACHED_BAD_KEY_PROVIDED
34 = MEMCACHED_INVALID_HOST_PROTOCOL
35 = MEMCACHED_SERVER_MARKED_DEAD
36 = MEMCACHED_UNKNOWN_STAT_KEY
37 = MEMCACHED_E2BIG
38 = MEMCACHED_INVALID_ARGUMENTS
39 = MEMCACHED_KEY_TOO_BIG
40 = MEMCACHED_AUTH_PROBLEM
41 = MEMCACHED_AUTH_FAILURE
42 = MEMCACHED_AUTH_CONTINUE
43 = MEMCACHED_PARSE_ERROR
44 = MEMCACHED_PARSE_USER_ERROR
45 = MEMCACHED_DEPRECATED
46 = MEMCACHED_IN_PROGRESS
47 = MEMCACHED_SERVER_TEMPORARILY_DISABLED
48 = MEMCACHED_SERVER_MEMORY_ALLOCATION_FAILURE
49 = MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */
11 = MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE = MEMCACHED_ERROR
up
1
Anonymous
7 years ago
Note that with Memcached::OPT_BINARY_PROTOCOL enabled there is some (possibly significant) size overhead added at the TCP level.

If you have a high volume of small values being get/set, you should analyze the effect of this option on your overall traffic size with a network tool (e.g. tcpdump) before enabling it, especially if you pay for traffic in/out of your memcache instance.
up
1
akenney at onesite dot com
13 years ago
Apparently there is a bug in libmemcached where connect timeout does not work when OPT_NO_BLOCK is set as well.

The bug and related blocking bugs are discussed here:
https://bugs.launchpad.net/libmemcached/+bug/583031

We confirmed this in libmemcached version 0.43

Be sure to test some memcache servers in your pool being unavailable (no route to host and memcache service down) to ensure that timeout settings are working correctly.
up
0
Allen Tsai
13 years ago
Memcached::OPT_SERVER_FAILURE_LIMIT - once a server has hit this limit, the client's getResultMessage() will return "SERVER IS MARKED DEAD." Further gets() for keys hashing to this server will continue returning this message, as will sets() hashing to the dead server.

Version 2.0.01b supports a constant Memcached::OPT_AUTO_EJECT_HOSTS which allows automatic rebalancing of the cluster/automatic failover handling.
To Top