預(yù)定義常量

下列常量由此擴(kuò)展定義,且僅在此擴(kuò)展編譯入 PHP 或在運(yùn)行時(shí)動(dòng)態(tài)載入時(shí)可用。

Memcached::OPT_COMPRESSION

開(kāi)啟或關(guān)閉壓縮功能。當(dāng)開(kāi)啟的時(shí)候,item的值超過(guò)某個(gè)閾值(當(dāng)前是100bytes)時(shí),會(huì)首先對(duì)值進(jìn)行壓縮然后存儲(chǔ),并 在獲取該值時(shí)進(jìn)行解壓縮然后返回,使得壓縮對(duì)應(yīng)用層透明。

類(lèi)型: boolean, 默認(rèn): true.

Memcached::OPT_SERIALIZER

指定對(duì)于非標(biāo)量值進(jìn)行序列化的序列化工具??捎玫闹涤?strong>Memcached::SERIALIZER_PHPMemcached::SERIALIZER_IGBINARY。后者僅在memcached配置時(shí)開(kāi)啟 --enable-memcached-igbinary選項(xiàng)并且 igbinary擴(kuò)展被加載時(shí)才有效。

類(lèi)型: integer, 默認(rèn): Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

默認(rèn)的PHP序列化工具(即serialize方法)。

Memcached::SERIALIZER_IGBINARY

? igbinary序列化工具。它將php的數(shù)據(jù)結(jié)構(gòu) 存儲(chǔ)為緊密的二進(jìn)制形式,在時(shí)間和空間上都有所改進(jìn)。

Memcached::SERIALIZER_JSON

JSON序列化,需要 PHP 5.2.10以上。

Memcached::OPT_PREFIX_KEY

可以用于為key創(chuàng)建“域”。這個(gè)值將會(huì)被作為每個(gè)key的前綴,它不能長(zhǎng)于128個(gè)字符, 并且將會(huì)縮短最大可允許的key的長(zhǎng)度。這個(gè)前綴僅僅用于被存儲(chǔ)的元素的key,而不會(huì)用于服務(wù)器key。

類(lèi)型: string, 默認(rèn): "".

Memcached::OPT_HASH

指定存儲(chǔ)元素key使用的hash算法??捎玫闹凳?strong>Memcached::HASH_*系列的常量。 每種hash算法都有它的優(yōu)勢(shì)和劣勢(shì),在你不了解或不確定哪種算法對(duì)你更有利時(shí),請(qǐng)使用默認(rèn)值。

類(lèi)型: integer, 默認(rèn): Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

默認(rèn)的(Jenkins one-at-a-time)元素key hash算法

Memcached::HASH_MD5

md5元素key hash算法。

Memcached::HASH_CRC

CRC元素key hash算法。

Memcached::HASH_FNV1_64

FNV1_64元素key hash算法。

Memcached::HASH_FNV1A_64

FNV1_64A元素key hash算法。

Memcached::HASH_FNV1_32

FNV1_32元素key hash算法。

Memcached::HASH_FNV1A_32

FNV1_32A元素key hash算法。

Memcached::HASH_HSIEH

Hsieh元素key hash算法。

Memcached::HASH_MURMUR

Murmur元素key hash算法。

Memcached::OPT_DISTRIBUTION

指定元素key分布到各個(gè)服務(wù)器的方法。當(dāng)前支持的方法有余數(shù)分步法合一致性hash算法兩種。一致性hash算法提供 了更好的分配策略并且在添加服務(wù)器到集群時(shí)可以最小化緩存丟失。

類(lèi)型: integer, 默認(rèn): Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

余數(shù)分布算法。

Memcached::DISTRIBUTION_CONSISTENT

一致性分布算法(基于libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

開(kāi)啟或關(guān)閉兼容的libketama類(lèi)行為。當(dāng)開(kāi)啟此選項(xiàng)后,元素key的hash算法將會(huì)被設(shè)置為md5并且分布算法將會(huì) 采用帶有權(quán)重的一致性hash分布。這一點(diǎn)非常有用因?yàn)槠渌趌ibketama的客戶端(比如python,urby)在同樣 的服務(wù)端配置下可以透明的訪問(wèn)key。

注意:

如果你要使用一致性hash算法強(qiáng)烈建議開(kāi)啟此選項(xiàng),并且這個(gè)選項(xiàng)可能在未來(lái)的發(fā)布版中被設(shè)置為默認(rèn)開(kāi)啟。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_BUFFER_WRITES

開(kāi)啟或關(guān)閉I/O緩存。開(kāi)啟I/O緩存會(huì)導(dǎo)致存儲(chǔ)命令不實(shí)際發(fā)送而是存儲(chǔ)到緩沖區(qū)中。任意的檢索數(shù)據(jù)操作都會(huì)導(dǎo)致 緩存中的數(shù)據(jù)被發(fā)送到遠(yuǎn)程服務(wù)端。退出連接或關(guān)閉連接也會(huì)導(dǎo)致緩存數(shù)據(jù)被發(fā)送到遠(yuǎn)程服務(wù)端。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_BINARY_PROTOCOL

開(kāi)啟使用二進(jìn)制協(xié)議。請(qǐng)注意這個(gè)選項(xiàng)不能在一個(gè)打開(kāi)的連接上進(jìn)行切換。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_NO_BLOCK

開(kāi)啟或關(guān)閉異步I/O。這將使得存儲(chǔ)函數(shù)傳輸速度最大化。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_TCP_NODELAY

開(kāi)啟或關(guān)閉已連接socket的無(wú)延遲特性(在某些幻境可能會(huì)帶來(lái)速度上的提升)。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_SOCKET_SEND_SIZE

socket發(fā)送緩沖的最大值。

類(lèi)型: integer, 默認(rèn): 根據(jù)不同的平臺(tái)/內(nèi)核配置不同

Memcached::OPT_SOCKET_RECV_SIZE

socket接收緩沖的最大值。

類(lèi)型: integer, 默認(rèn): 根據(jù)不同的平臺(tái)/內(nèi)核配置不同

Memcached::OPT_CONNECT_TIMEOUT

在非阻塞模式下這里設(shè)置的值就是socket連接的超時(shí)時(shí)間,單位是毫秒。

類(lèi)型: integer, 默認(rèn): 1000.

Memcached::OPT_RETRY_TIMEOUT

等待失敗的連接重試的時(shí)間,單位秒。

類(lèi)型: integer, 默認(rèn): 0.

Memcached::OPT_SEND_TIMEOUT

socket發(fā)送超時(shí)時(shí)間,單位微秒。在這種情況下您不能使用非阻塞I/O,這將使得您仍然有數(shù)據(jù)會(huì)發(fā)送超時(shí)。

類(lèi)型: integer, 默認(rèn): 0.

Memcached::OPT_RECV_TIMEOUT

socket讀取超時(shí)時(shí)間,單位微秒。在這種情況下您不能使用非阻塞I/O,這將使得您仍然有數(shù)據(jù)會(huì)讀取超時(shí)。

類(lèi)型: integer, 默認(rèn): 0.

Memcached::OPT_POLL_TIMEOUT

poll連接超時(shí)時(shí)間,單位毫秒。

類(lèi)型: integer, 默認(rèn): 1000.

Memcached::OPT_CACHE_LOOKUPS

開(kāi)啟或禁用DNS查找緩存。

類(lèi)型: boolean, 默認(rèn): false.

Memcached::OPT_SERVER_FAILURE_LIMIT

指定一個(gè)服務(wù)器連接的失敗重試次數(shù)限制。在達(dá)到此數(shù)量的失敗重連后此服務(wù)器將被從服務(wù)器池中移除。

類(lèi)型: integer, 默認(rèn): 0.

Memcached::HAVE_IGBINARY

指示是否支持igbinary的序列化。

類(lèi)型: boolean.

Memcached::HAVE_JSON

指示是否支持json的序列化。

類(lèi)型: boolean.

Memcached::GET_PRESERVE_ORDER

一個(gè)用于Memcached::getMulti()Memcached::getMultiByKey()的標(biāo)記用以確保返回的key和請(qǐng)求的key順序保持一致。 不存在的key將會(huì)得到一個(gè)NULL值。

Memcached::RES_SUCCESS

操作成功。

Memcached::RES_FAILURE

某種方式的操作失敗。

Memcached::RES_HOST_LOOKUP_FAILURE

DNS查找失敗。

Memcached::RES_UNKNOWN_READ_FAILURE

讀取網(wǎng)絡(luò)數(shù)據(jù)失敗。

Memcached::RES_PROTOCOL_ERROR

錯(cuò)誤的memcached協(xié)議命令。

Memcached::RES_CLIENT_ERROR

客戶端錯(cuò)誤。

Memcached::RES_SERVER_ERROR

服務(wù)端錯(cuò)誤。

Memcached::RES_WRITE_FAILURE

向網(wǎng)絡(luò)寫(xiě)數(shù)據(jù)失敗。

Memcached::RES_DATA_EXISTS

比較并交換值操作失?。╟as方法):嘗試向服務(wù)端存儲(chǔ)數(shù)據(jù)時(shí)由于自此連接最后一次取此key對(duì)應(yīng)數(shù)據(jù)之后被改變導(dǎo)致失敗。

Memcached::RES_NOTSTORED

元素沒(méi)有被存儲(chǔ),但并不是因?yàn)橐粋€(gè)錯(cuò)誤。這通常表明add(元素已存在)或replace(元素不存在)方式存儲(chǔ)數(shù)據(jù)失敗或者元素已經(jīng)在一個(gè)刪除序列中(延時(shí)刪除)。

Memcached::RES_NOTFOUND

元素未找到(通過(guò)get或cas操作時(shí))。

Memcached::RES_PARTIAL_READ

局部網(wǎng)絡(luò)數(shù)據(jù)讀錯(cuò)誤。

Memcached::RES_SOME_ERRORS

在多key獲取的時(shí)候發(fā)生錯(cuò)誤。

Memcached::RES_NO_SERVERS

服務(wù)器池空。

Memcached::RES_END

結(jié)果集到結(jié)尾了。

Memcached::RES_ERRNO

系統(tǒng)錯(cuò)誤。

Memcached::RES_BUFFERED

操作被緩存。

Memcached::RES_TIMEOUT

操作超時(shí)。

Memcached::RES_BAD_KEY_PROVIDED

提供了無(wú)效的key。

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

創(chuàng)建網(wǎng)絡(luò)socket失敗。

Memcached::RES_PAYLOAD_FAILURE

不能壓縮/解壓縮或序列化/反序列化值。