Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Memcached::OPT_COMPRESSION

Activa o desactiva la compresión de la carga. Cuando está activada, los valores de ítems mayores que cierto umbral (actualmente 100 bytes) serán comprimidos durante el almacenamiento y descomprimidos durante su recuperación de forma transparente.

Tipo: boolean, predeterminado: true.

Memcached::OPT_SERIALIZER

Especifica el serializador a emplear para serializar valores no escalares. Los serializadores válidos son Memcached::SERIALIZER_PHP o Memcached::SERIALIZER_IGBINARY. Este último solo se admite cuando memcached está configurada con la opción --enable-memcached-igbinary y la extensión igbinary está cargada.

Tipo: integer, predeterminado: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

El serializador de PHP predeterminado.

Memcached::SERIALIZER_IGBINARY

El serializador de » igbinary. En lugar de una representación textual, almacena estructuras de datos de PHP de una forma binaria compacta, lo que resulta en mejoras de espacio y tiempo.

Memcached::SERIALIZER_JSON

El serializador de JSON. Requiere PHP 5.2.10+.

Memcached::OPT_PREFIX_KEY

Puede emplearse para crear un "dominio" para las claves de ítems. El valor especificado será utilizado para prefijar cada una de las claves. No puede ser mayor que 128 caracteres y reducirá el tamaño máximo disponible de la clave. El prefijo se aplica solamente a las claves de los ítems, no en las claves de servidores.

Tipo: string, predeterminado: "".

Memcached::OPT_HASH

Especifica el algoritmo hash utilizado por las claves de ítems. Los valores válidos se proporcionan mediante las constantes Memcached::HASH_*. Cada algoritmo hash tiene sus ventajas y desventajas. Se deberá utilizar el predeterminado si no se tiene conocimiento o no tiene relevancia.

Tipo: integer, predeterminado: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

Algoritmo hash predeterminado (Jenkins una-cada-vez) de claves de ítems.

Memcached::HASH_MD5

Algoritmo hash para claves de ítems MD5.

Memcached::HASH_CRC

Algoritmo hash para claves de ítems CRC.

Memcached::HASH_FNV1_64

Algoritmo hash para claves de ítems FNV1_64.

Memcached::HASH_FNV1A_64

Algoritmo hash para claves de ítems FNV1_64A.

Memcached::HASH_FNV1_32

Algoritmo hash para claves de ítems FNV1_32.

Memcached::HASH_FNV1A_32

Algoritmo hash para claves de ítems FNV1_32A.

Memcached::HASH_HSIEH

Algoritmo hash para claves de ítems Hsieh.

Memcached::HASH_MURMUR

Algoritmo hash para claves de ítems Murmur

Memcached::OPT_DISTRIBUTION

Especifica el método para distribuir claves de ítems en los servidores. Actualmente, los métodos admitidos son módulo y hash consistente. El hash consistente proporciona una mejor distribución y permite que los servidores sean añadidos al clúster con el mínimo de pérdidas de caché.

Tipo: integer, predeterminado: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Algoritmo de distribución de claves basado en módulo.

Memcached::DISTRIBUTION_CONSISTENT

Algoritmo de distribución de claves hash consistentes (basado en libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Activa o desactiva la compatibilidad con el comportamiento de libketama. Cuando está activada, el algoritmo hash de claves de ítems se establece a MD5 y la distribución se establece a la distribución de hash consistente compensada. Esto es útil debido a que otros clientes basados en libketama (Python, Ruby, etc.) con la misma configuración de servidor serán capaces de acceder a las claves de forma transparente.

Nota:

Es muy recomendable activar esta opción para el empleo de hash consistente, y seguramente estará activada de forma predeterminada en futuras versiones.

Tipo: boolean, predeterminado: false.

Memcached::OPT_BUFFER_WRITES

Activa o desactiva la E/S en búfer. Activar la E/S en búfer hace que los comandos de almacenamiento usen el búfer en lugar de ser enviados. Cualquier acción que obtenga datos hace que la información del búfer sea enviada a la conexión remota. El quitar o cerrar la conexión también ocasionará que los datos del búfer sean enviados a la conexión remota.

Tipo: boolean, predeterminado: false.

Memcached::OPT_BINARY_PROTOCOL

Activa el empleo del protocolo binario. Observe que no se puede cambiar esta opción cuando una conexión está abierta.

Tipo: boolean, predeterminado: false.

Memcached::OPT_NO_BLOCK

Activa o desactiva la E/S asíncrona. Es el transporte más rápido disponible para funciones de almacenamiento.

Tipo: boolean, predeterminado: false.

Memcached::OPT_TCP_NODELAY

Activa o desactiva la característica de no retraso para conectar a un socket (podría ser más rápida en algunos entornos).

Tipo: boolean, predeterminado: false.

Memcached::OPT_SOCKET_SEND_SIZE

El búfer máximo de envío de socket, en bytes.

Tipo: integer, predeterminado: varía según la plataforma/configuración del kernel.

Memcached::OPT_SOCKET_RECV_SIZE

El búfer máximo de recepción de socket, en bytes.

Tipo: integer, predeterminado: varía según la plataforma/configuración del kernel.

Memcached::OPT_CONNECT_TIMEOUT

En el modo de no bloqueo, establecer el valor del tiempo de espera durante la conexión al socket, en milisengundos.

Tipo: integer, predeterminado: 1000.

Memcached::OPT_RETRY_TIMEOUT

La cantidad de tiempo, en segundos, a esperar para reintentar la conexión en caso que haya fallado.

Tipo: integer, predeterminado: 0.

Memcached::OPT_SEND_TIMEOUT

Tiempo de espera para el envío al socket, en microsegundos. En los casos donde no se puede emplear E/S de no bloqueo, permitirá tener tiempos de espera al enviar datos.

Tipo: integer, predeterminado: 0.

Memcached::OPT_RECV_TIMEOUT

Tiempo de espera para la lectura del socket, en microsegundos. En los casos donde no se puede emplear E/S de no bloqueo, permitirá tener tiempos de espera al leer datos.

Tipo: integer, predeterminado: 0.

Memcached::OPT_POLL_TIMEOUT

Tiempo de espera para el agrupamiento de conexiones, en milisegundos.

Tipo: integer, predeterminado: 1000.

Memcached::OPT_CACHE_LOOKUPS

Activa o desactiva caché para resoluciones DNS.

Tipo: boolean, predeterminado: false.

Memcached::OPT_SERVER_FAILURE_LIMIT

Especifica el límite de intentos de conexión al servidor. El servidor será eliminado después del número indicado de fallos continuos de conexión.

Tipo: integer, predeterminado: 0.

Memcached::HAVE_IGBINARY

Indica si está disponible el soporte para el serializador igbinary.

Tipo: boolean.

Memcached::HAVE_JSON

Indica si está disponible el soporte para el serializador JSON.

Tipo: boolean.

Memcached::GET_PRESERVE_ORDER

Opción para Memcached::getMulti() y Memcached::getMultiByKey() para garantizar que las claves son devueltas en el mismo orden que fueron solicitadas. Las claves no existentes obtienen un valor predeterminado de NULL.

Memcached::RES_SUCCESS

La operación se completó satisfactoriamente.

Memcached::RES_FAILURE

La operación falló de algún modo.

Memcached::RES_HOST_LOOKUP_FAILURE

Falló la resolución DNS.

Memcached::RES_UNKNOWN_READ_FAILURE

Fallo al leer datos de la red.

Memcached::RES_PROTOCOL_ERROR

Comando erróneo del protocolo memcached.

Memcached::RES_CLIENT_ERROR

Error en el lado del cliente.

Memcached::RES_SERVER_ERROR

Error en el lado del servidor.

Memcached::RES_WRITE_FAILURE

Fallo al escribir datos en la red.

Memcached::RES_DATA_EXISTS

Fallo al comparar e intercambiar: el ítem que se intenta guardar ha sido modificado desde la última vez que se obtuvo.

Memcached::RES_NOTSTORED

El ítem no fue guardado: pero no a causa de un error. Normalmente significa que no se cumplió la condición para un comando "add" o "replace", o que el ítem está en una cola para su eliminación.

Memcached::RES_NOTFOUND

No se encontró el ítem con esta clave (mediante la operación "get" o "cas").

Memcached::RES_PARTIAL_READ

Error de lectura parcial de datos en la red.

Memcached::RES_SOME_ERRORS

Algunos errores sucedieron durante una obtención múltiple.

Memcached::RES_NO_SERVERS

La lista de servidores está vacía.

Memcached::RES_END

Final del conjunto de resultados.

Memcached::RES_ERRNO

Error del sistema.

Memcached::RES_BUFFERED

La operación estaba almacenada en búfer.

Memcached::RES_TIMEOUT

La operación expiró.

Memcached::RES_BAD_KEY_PROVIDED

Clave errónea.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Fallo al crear el socket de red.

Memcached::RES_PAYLOAD_FAILURE

Error de carga: no se pudo comprimir/descomprimir o serializar/deserializar el valor.

add a note add a note

User Contributed Notes 5 notes

up
8
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
3
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
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.
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.
To Top