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
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 del contenido. Cuando está activado, los valores de los ítems mayores de cierto umbral (actualmente 100 bytes) serán comprimidos durante el almacenamiento y descomprimidos durante su obtención de forma transparente.
Tipo: boolean, predeterminado:
TRUE. -
Memcached::OPT_SERIALIZER -
Especifica el serializador a usar para serializar valores no escalares. Los serializadores válidos son
Memcached::SERIALIZER_PHPoMemcached::SERIALIZER_IGBINARY. Este último solo es soportado cuando memcached es configurado con la opción --enable-memcached-igbinary y la extensión igbinary está disponible.Tipo: integer, predeterminado:
Memcached::SERIALIZER_PHP. -
Memcached::SERIALIZER_PHP -
El serializador PHP por defecto.
-
Memcached::SERIALIZER_IGBINARY -
El serializador » igbinary. En lugar de tener una representación textual guarda esctructuras de datos PHP de forma binaria, lo que resulta en mejoras de espacio y tiempo.
-
Memcached::SERIALIZER_JSON -
El serializador JSON. Requiere PHP 5.2.10+.
-
Memcached::OPT_PREFIX_KEY -
Puede ser usado para crear un "dominio" para tus claves ítem. El valor especificado será usado para prefijar cada una de las claves. No puede ser más mayor que 128 caracteres y reducirá el tamaño máximo para el tamaño de la clave. El prefijo será usado solamente en las claves de los ítem, no en claves de servidores.
Tipo: string, predeterminado: "".
-
Memcached::OPT_HASH -
Especifica el algoritmo hash utilizado por las claves ítem. Los valores válidos se proporcionan mediante las constantes del tipo
Memcached::HASH_*. Cada algoritmo hash tiene sus ventajas y desventajas. Usar el valor por defecto si no se tiene conocimiento o no tiene relevancia.Tipo: integer, predeterminado:
Memcached::HASH_DEFAULT -
Memcached::HASH_DEFAULT -
Algoritmo de hash para claves por defecto (Jenkins una-a-la-vez).
-
Memcached::HASH_MD5 -
Algoritmo de hash para claves MD5.
-
Memcached::HASH_CRC -
Algoritmo de hash para claves CRC.
-
Memcached::HASH_FNV1_64 -
Algoritmo de hash para claves FNV1_64.
-
Memcached::HASH_FNV1A_64 -
Algoritmo de hash para claves FNV1_64A.
-
Memcached::HASH_FNV1_32 -
Algoritmo de hash para claves FNV1_32.
-
Memcached::HASH_FNV1A_32 -
Algoritmo de hash para claves FNV1_32A.
-
Memcached::HASH_HSIEH -
Algoritmo de hash para claves Hsieh.
-
Memcached::HASH_MURMUR -
Algoritmo de hash para claves Murmur
-
Memcached::OPT_DISTRIBUTION -
Especifica el método para distribuir claves ítem en los servidores. Actualmente los métodos soportados son Modulo y hash consistente. Hash consistente proporciona una mejor distribución y permite que los servidores sean añadidos al cluster con el mínimo de pérdidas cache.
Tipo: integer, predeterminado:
Memcached::DISTRIBUTION_MODULA. -
Memcached::DISTRIBUTION_MODULA -
Algoritmo de distribución de claves basado en Modulo.
-
Memcached::DISTRIBUTION_CONSISTENT -
Algoritmo de distribución de claves hash consistente (basado en libketama).
-
Memcached::OPT_LIBKETAMA_COMPATIBLE -
Activa o desactiva la compatibilidad con el comportamiento de libketama. Cuando está activado, el algoritmo hash de clave ítem es defindo a MD5 y su distribución es definida a balance de distribución hash consistente. Esto es útil porque otros clientes basados en libketama (Python, Ruby, etc.) con la misma configuración serán capaces de acceder a las claves de forma transparente.
Nota:
Es muy recomendable activar esta opción si se quiere usar hash consistente y seguramente estará activado por defecto en futuras versiones.
Tipo: boolean, predeterminado:
FALSE. -
Memcached::OPT_BUFFER_WRITES -
Activa o desactiva el buffer E/S. Activar el buffer E/S hace que los comandos de almacenamiento usen el "buffer" en lugar de ser enviados directamente. Cualquier acción que obtenga datos hacen que la información del buffer sea enviada a la conexión remota. El salir o cerrar la conexión también hará que el los datos del buffer sean enviados a la conexión remota.
Tipo: boolean, predeterminado:
FALSE. -
Memcached::OPT_BINARY_PROTOCOL -
Activa el uso del protocolo binario. Por favor nótese que no se puede cambiar esta opción cuando la conexión está abierta.
Tipo: boolean, predeterminado:
FALSE. -
Memcached::OPT_NO_BLOCK -
Activa o desactiva escritura E/S no-sincrona. Esta es la manera más rápida disponible para funciones de almacenamiento.
Tipo: boolean, predeterminado:
FALSE. -
Memcached::OPT_TCP_NODELAY -
Activa o desactiva la opción de no-retraso para conectar a sockets (puede que sea más rápida en algunos entornos).
Tipo: boolean, predeterminado:
FALSE. -
Memcached::OPT_SOCKET_SEND_SIZE -
El número máximo de envíos de socket en bytes.
Tipo: integer, predeterminado: varía según la plataforma/configuración del kernel.
-
Memcached::OPT_SOCKET_RECV_SIZE -
El número 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 no-bloqueo este valor establece el 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 usar no-bloqueo de E/S esta opción 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 usar no-bloqueo E/S esta opción permitirá tener tiempos de espera al leer datos.
Tipo: integer, predeterminado: 0.
-
Memcached::OPT_POLL_TIMEOUT -
Tiempo de espera para la conexión al polling, 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 fallos para los intentos de conexión al servidor. El servidor será eliminado después del número indicado para los continuos fallos de conexión.
Tipo: integer, predeterminado: 0.
-
Memcached::HAVE_IGBINARY -
Indica cuando está disponible el soporte para el serializador igbinary.
Tipo: boolean.
-
Memcached::HAVE_JSON -
Indica cuando está disponible el soporte para el serializador JSON.
Tipo: boolean.
-
Memcached::GET_PRESERVE_ORDER -
Opción para Memcached::getMulti() y Memcached::getMultiByKey() para asegurarse que las claves son devueltas en el mismo orden que fueron solicitadas. Las claves no existentes obtienen el valor por defecto 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 -
Falló al leer datos de la red.
-
Memcached::RES_PROTOCOL_ERROR -
Comando erróneo del protocolo memcached.
-
Memcached::RES_CLIENT_ERROR -
Error en el lado cliente.
-
Memcached::RES_SERVER_ERROR -
Error en el lado servidor.
-
Memcached::RES_WRITE_FAILURE -
Fallo al escribir datos en la red.
-
Memcached::RES_DATA_EXISTS -
Falló al comparar e intercambiar: el ítem que se quiere 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 "add" o "replace" o que el ítem está en la cola para ser eliminado.
-
Memcached::RES_NOTFOUND -
No se encontró el ítem con esta clave (mediante la operación "get" o "cas").
-
Memcached::RES_PARTIAL_READ -
Error parcial de lectura en la red.
-
Memcached::RES_SOME_ERRORS -
Algunos errores sucedieron durante multi-get.
-
Memcached::RES_NO_SERVERS -
La lista de servidores está vacía.
-
Memcached::RES_END -
Final de la lista de resultados.
-
Memcached::RES_ERRNO -
Error del sistema.
-
Memcached::RES_BUFFERED -
La operación fue puesta en el buffer.
-
Memcached::RES_TIMEOUT -
Se agotó el tiempo de espera para la operación.
-
Memcached::RES_BAD_KEY_PROVIDED -
Clave errónea.
-
Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE -
Falló al crear el socket de red.
-
Memcached::RES_PAYLOAD_FAILURE -
Error de carga: no se pudo comprimir/descomprimir o serializar/deserializar el valor.
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.
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.
