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 2000 octets), seront compressĂ©s durant le stockage, et dĂ©compressĂ©s au dĂ©stockage, de maniĂšre transparente. Le seuil peut ĂȘtre configurĂ© Ă  l'aide du paramĂštre ini memcached.compression_threshold.

Type : bool, par défaut : true.

Memcached::OPT_COMPRESSION_TYPE
Spécifie l'algorithme de compression à utiliser, si la compression est activée. Les algorithmes valides sont Memcached::COMPRESSION_FASTLZ, Memcached::COMPRESSION_ZLIB et Memcached::COMPRESSION_ZSTD.

Type : int, par défaut : Memcached::COMPRESSION_FASTLZ.

Memcached::COMPRESSION_FASTLZ
L'algorithme de compression FASTLZ.
Memcached::COMPRESSION_ZLIB
L'algorithme de compression ZLIB.
Memcached::COMPRESSION_ZSTD
L'algorithme de compression ZSTD. Disponible Ă  partir de Memcached 3.3.0.
Memcached::OPT_COMPRESSION_LEVEL
Spécifie le niveau de compression à utiliser, si la compression est activée.

Type : int, par défaut : 3.

Memcached::OPT_SERIALIZER
Spécifie la fonction de sérialisation à utiliser pour les valeurs non scalaires. Les fonctions valides sont Memcached::SERIALIZER_PHP, Memcached::SERIALIZER_IGBINARY, Memcached::SERIALIZER_JSON, Memcached::SERIALIZER_JSON_ARRAY et Memcached::SERIALIZER_MSGPACK.

Type : int, par défaut : Memcached::SERIALIZER_IGBINARY si disponible, puis Memcached::SERIALIZER_MSGPACK si disponible, puis Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

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

Memcached::SERIALIZER_IGBINARY
Le sérialiseur 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. Ce sérialiseur est pris en charge uniquement si memcached est configuré avec l'option --enable-memcached-igbinary et si l'extension igbinary est chargée.
Memcached::SERIALIZER_JSON

Le sérialiseur JSON. Ce sérialiseur désérialise le JSON en un objet.

Memcached::SERIALIZER_JSON_ARRAY
Le sérialiseur JSON en tableau. Ce sérialiseur désérialise le JSON en un tableau associatif.
Memcached::SERIALIZER_MSGPACK
Le sérialiseur » MessagePack. Ce sérialiseur est pris en charge uniquement si memcached est configuré avec l'option --enable-memcached-msgpack et si l'extension msgpack est chargée.
Memcached::OPT_PREFIX_KEY
Cette option peut ĂȘtre utilisĂ©e pour crĂ©er un "domaine" pour les 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 : string, par défaut : "".

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

Type : int, 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Ă©s au groupe avec un minimum de pertes de cache.

Type : int, 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 (basé sur libketama)

Memcached::DISTRIBUTION_VIRTUAL_BUCKET
Algorithme de distribution de clé de hachage Virtual Bucket (également appelé vbucket).
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, pour utiliser le hachage cohérent, et il est probable qu'elle soit activée par défaut dans de futures versions.

Type : bool, par défaut : false.

Memcached::OPT_LIBKETAMA_HASH
Spécifie l'algorithme de hachage pour le mappage de l'hÎte.

Type : int.

Memcached::OPT_TCP_KEEPALIVE
Active le maintien de la connexion TCP (keep-alive).

Type : bool, 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, par défaut : false.

Memcached::OPT_BINARY_PROTOCOL
Activer cette option pour utiliser le protocole binaire. À noter qu'il n'est pas possible de changer cette option pour une connexion dĂ©jĂ  ouverte.

Type : bool, 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, par défaut : false.

Memcached::OPT_NOREPLY
Active ou désactive l'ignorance du résultat des commandes de stockage (set, add, replace, append, prepend, delete, increment, decrement, etc.). Les commandes de stockage seront envoyées 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ées par ce paramétrage.

Type: bool, 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, par défaut: false.

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

Type : int, par défaut : varie en fonction de la configuration de la plateforme/du noyau.

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

Type : int, par défaut : varie en fonction de la configuration de la plateforme/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: int, par défaut: 1000.

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

Type: int, par défaut: 2.

Memcached::OPT_DEAD_TIMEOUT
La durée, en secondes, à attendre avant de réessayer les serveurs morts. 0 signifie aucun réessai.

Type : int, par défaut : 0.

Memcached::OPT_SEND_TIMEOUT
DĂ©lai d'expiration d'envoi pour le socket, en microsecondes. Dans les cas oĂč on utilise un socket non bloquant, cela permettra d'avoir des dĂ©lais d'expiration en envoi de donnĂ©es, malgrĂ© tout.

Type : int, par défaut : 0.

Memcached::OPT_RECV_TIMEOUT
DĂ©lai d'expiration de rĂ©ception pour le socket, en microsecondes. Dans les cas oĂč on utilise un socket non bloquant, cela permettra d'avoir des dĂ©lais d'expiration en rĂ©ception de donnĂ©es, malgrĂ© tout.

Type : int, par défaut : 0.

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

Type : int, par défaut : 1000.

Memcached::OPT_CACHE_LOOKUPS
Active ou non le cache de DNS.

Type : bool, 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 : int, par défaut : 5.

Memcached::OPT_SERVER_TIMEOUT_LIMIT
Spécifie la limite de délai d'attente pour les tentatives de connexion au serveur. Le serveur sera supprimé aprÚs ce nombre de délais d'attente continus de connexion.

Type : int, par défaut : 0.

Memcached::OPT_AUTO_EJECT_HOSTS

Supprime les serveurs dĂ©sactivĂ©s de la liste. À utiliser avec Memcached::OPT_SERVER_FAILURE_LIMIT et Memcached::OPT_SERVER_TIMEOUT_LIMIT.

Note:

Cette option est remplacée par Memcached::OPT_REMOVE_FAILED_SERVERS.

Type : bool, par défaut : false.

Memcached::OPT_VERIFY_KEY
Active la vérification des clés par memcached.

Type : bool, par défaut : false.

Memcached::OPT_USE_UDP
Utilise UDP au lieu de TCP.

Type : bool, par défaut : false.

Memcached::OPT_NUMBER_OF_REPLICAS
Stocke ce nombre de répliques de chaque élément sur différents serveurs.

Type : int, par défaut : 0.

Memcached::OPT_RANDOMIZE_REPLICA_READS
Randomise le serveur de lecture de réplique.

Type : bool, par défaut : false.

Memcached::OPT_REMOVE_FAILED_SERVERS
Supprime les serveurs dĂ©sactivĂ©s de la liste. À utiliser avec Memcached::OPT_SERVER_FAILURE_LIMIT et Memcached::OPT_SERVER_TIMEOUT_LIMIT.

Type : bool, par défaut : false.

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

Type: bool.

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

Type: bool.

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

Type: bool.

Disponible Ă  partir de Memcached 3.0.0.

Memcached::HAVE_ZSTD
Indique si la prise en charge de la compression ZSTD est disponible.

Type : bool.

Disponible Ă  partir de Memcached 3.3.0.

Memcached::HAVE_ENCODING
Indique si le chiffrement des données via Memcached::setEncodingKey() est pris en charge.

Type : bool.

Disponible Ă  partir de Memcached 3.1.0.

Memcached::HAVE_SESSION

Type: bool.

Disponible Ă  partir de Memcached 3.0.0.

Memcached::HAVE_SASL

Type: bool.

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

Échec de lecture sur le rĂ©seau.

Memcached::RES_PROTOCOL_ERROR

Mauvaise commande dans le protocole memcached.

Memcached::RES_CLIENT_ERROR

Erreur du cÎté du client.

Memcached::RES_SERVER_ERROR

Erreur du cÎté du serveur.

Memcached::RES_WRITE_FAILURE

Échec de l'Ă©criture sur le rĂ©seau.

Memcached::RES_DATA_EXISTS

Échec de la comparaison et Ă©change : l'Ă©lĂ©ment qu'on essaie de stocker a Ă©tĂ© modifiĂ© depuis la 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é mis dans une file 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 survenues 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_STORED
ÉlĂ©ment stockĂ©.
Memcached::RES_DELETED
ÉlĂ©ment supprimĂ©.
Memcached::RES_STAT
Statistiques.
Memcached::RES_ITEM
ÉlĂ©ment.
Memcached::RES_NOT_SUPPORTED
Non pris en charge.
Memcached::RES_FETCH_NOTFINISHED
Récupération non terminée.
Memcached::RES_SERVER_MARKED_DEAD
Serveur marqué comme mort.
Memcached::RES_UNKNOWN_STAT_KEY
Clé de statistique inconnue.
Memcached::RES_INVALID_HOST_PROTOCOL
Protocole d'hĂŽte invalide.
Memcached::RES_MEMORY_ALLOCATION_FAILURE
Échec d'allocation mĂ©moire.
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
6
igorsantos07 no gmail ¶
10 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
9
tyliu2 at gmail dot com ¶
16 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
1
Allen Tsai ¶
15 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.
up
2
akenney at onesite dot com ¶
15 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
Anonymous ¶
9 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.