下列常量由此擴展定義,且僅在此擴展編譯入 PHP 或在運行時動態(tài)載入時可用。
Memcached::OPT_COMPRESSION開啟或關閉壓縮功能。當開啟的時候,item的值超過某個閾值(當前是100bytes)時,會首先對值進行壓縮然后存儲,并 在獲取該值時進行解壓縮然后返回,使得壓縮對應用層透明。
類型: boolean, 默認: true.
Memcached::OPT_SERIALIZER
指定對于非標量值進行序列化的序列化工具??捎玫闹涤?strong>Memcached::SERIALIZER_PHP
和Memcached::SERIALIZER_IGBINARY。后者僅在memcached配置時開啟
--enable-memcached-igbinary選項并且
igbinary擴展被加載時才有效。
類型: integer, 默認: Memcached::SERIALIZER_PHP.
Memcached::SERIALIZER_PHP默認的PHP序列化工具(即serialize方法)。
Memcached::SERIALIZER_IGBINARY? igbinary序列化工具。它將php的數(shù)據(jù)結構 存儲為緊密的二進制形式,在時間和空間上都有所改進。
Memcached::SERIALIZER_JSONJSON序列化,需要 PHP 5.2.10以上。
Memcached::OPT_PREFIX_KEY
可以用于為key創(chuàng)建“域”。這個值將會被作為每個key的前綴,它不能長于128個字符,
并且將會縮短最大可允許的key的長度。這個前綴僅僅用于被存儲的元素的key,而不會用于服務器key。
類型: string, 默認: "".
Memcached::OPT_HASH
指定存儲元素key使用的hash算法。可用的值是Memcached::HASH_*系列的常量。
每種hash算法都有它的優(yōu)勢和劣勢,在你不了解或不確定哪種算法對你更有利時,請使用默認值。
類型: integer, 默認: Memcached::HASH_DEFAULT
Memcached::HASH_DEFAULT默認的(Jenkins one-at-a-time)元素key hash算法
Memcached::HASH_MD5md5元素key hash算法。
Memcached::HASH_CRCCRC元素key hash算法。
Memcached::HASH_FNV1_64FNV1_64元素key hash算法。
Memcached::HASH_FNV1A_64FNV1_64A元素key hash算法。
Memcached::HASH_FNV1_32FNV1_32元素key hash算法。
Memcached::HASH_FNV1A_32FNV1_32A元素key hash算法。
Memcached::HASH_HSIEHHsieh元素key hash算法。
Memcached::HASH_MURMURMurmur元素key hash算法。
Memcached::OPT_DISTRIBUTION指定元素key分布到各個服務器的方法。當前支持的方法有余數(shù)分步法合一致性hash算法兩種。一致性hash算法提供 了更好的分配策略并且在添加服務器到集群時可以最小化緩存丟失。
類型: integer, 默認: Memcached::DISTRIBUTION_MODULA.
Memcached::DISTRIBUTION_MODULA余數(shù)分布算法。
Memcached::DISTRIBUTION_CONSISTENT一致性分布算法(基于libketama).
Memcached::OPT_LIBKETAMA_COMPATIBLE開啟或關閉兼容的libketama類行為。當開啟此選項后,元素key的hash算法將會被設置為md5并且分布算法將會 采用帶有權重的一致性hash分布。這一點非常有用因為其他基于libketama的客戶端(比如python,urby)在同樣 的服務端配置下可以透明的訪問key。
注意:
如果你要使用一致性hash算法強烈建議開啟此選項,并且這個選項可能在未來的發(fā)布版中被設置為默認開啟。
類型: boolean, 默認: false.
Memcached::OPT_BUFFER_WRITES開啟或關閉I/O緩存。開啟I/O緩存會導致存儲命令不實際發(fā)送而是存儲到緩沖區(qū)中。任意的檢索數(shù)據(jù)操作都會導致 緩存中的數(shù)據(jù)被發(fā)送到遠程服務端。退出連接或關閉連接也會導致緩存數(shù)據(jù)被發(fā)送到遠程服務端。
類型: boolean, 默認: false.
Memcached::OPT_BINARY_PROTOCOL開啟使用二進制協(xié)議。請注意這個選項不能在一個打開的連接上進行切換。
類型: boolean, 默認: false.
Memcached::OPT_NO_BLOCK開啟或關閉異步I/O。這將使得存儲函數(shù)傳輸速度最大化。
類型: boolean, 默認: false.
Memcached::OPT_TCP_NODELAY開啟或關閉已連接socket的無延遲特性(在某些幻境可能會帶來速度上的提升)。
類型: boolean, 默認: false.
Memcached::OPT_SOCKET_SEND_SIZEsocket發(fā)送緩沖的最大值。
類型: integer, 默認: 根據(jù)不同的平臺/內核配置不同
Memcached::OPT_SOCKET_RECV_SIZEsocket接收緩沖的最大值。
類型: integer, 默認: 根據(jù)不同的平臺/內核配置不同
Memcached::OPT_CONNECT_TIMEOUT在非阻塞模式下這里設置的值就是socket連接的超時時間,單位是毫秒。
類型: integer, 默認: 1000.
Memcached::OPT_RETRY_TIMEOUT等待失敗的連接重試的時間,單位秒。
類型: integer, 默認: 0.
Memcached::OPT_SEND_TIMEOUTsocket發(fā)送超時時間,單位微秒。在這種情況下您不能使用非阻塞I/O,這將使得您仍然有數(shù)據(jù)會發(fā)送超時。
類型: integer, 默認: 0.
Memcached::OPT_RECV_TIMEOUTsocket讀取超時時間,單位微秒。在這種情況下您不能使用非阻塞I/O,這將使得您仍然有數(shù)據(jù)會讀取超時。
類型: integer, 默認: 0.
Memcached::OPT_POLL_TIMEOUTpoll連接超時時間,單位毫秒。
類型: integer, 默認: 1000.
Memcached::OPT_CACHE_LOOKUPS開啟或禁用DNS查找緩存。
類型: boolean, 默認: false.
Memcached::OPT_SERVER_FAILURE_LIMIT指定一個服務器連接的失敗重試次數(shù)限制。在達到此數(shù)量的失敗重連后此服務器將被從服務器池中移除。
類型: integer, 默認: 0.
Memcached::HAVE_IGBINARY指示是否支持igbinary的序列化。
類型: boolean.
Memcached::HAVE_JSON指示是否支持json的序列化。
類型: boolean.
Memcached::GET_PRESERVE_ORDER一個用于Memcached::getMulti()和 Memcached::getMultiByKey()的標記用以確保返回的key和請求的key順序保持一致。 不存在的key將會得到一個NULL值。
Memcached::RES_SUCCESS操作成功。
Memcached::RES_FAILURE某種方式的操作失敗。
Memcached::RES_HOST_LOOKUP_FAILUREDNS查找失敗。
Memcached::RES_UNKNOWN_READ_FAILURE讀取網(wǎng)絡數(shù)據(jù)失敗。
Memcached::RES_PROTOCOL_ERROR錯誤的memcached協(xié)議命令。
Memcached::RES_CLIENT_ERROR客戶端錯誤。
Memcached::RES_SERVER_ERROR服務端錯誤。
Memcached::RES_WRITE_FAILURE向網(wǎng)絡寫數(shù)據(jù)失敗。
Memcached::RES_DATA_EXISTS比較并交換值操作失?。╟as方法):嘗試向服務端存儲數(shù)據(jù)時由于自此連接最后一次取此key對應數(shù)據(jù)之后被改變導致失敗。
Memcached::RES_NOTSTORED元素沒有被存儲,但并不是因為一個錯誤。這通常表明add(元素已存在)或replace(元素不存在)方式存儲數(shù)據(jù)失敗或者元素已經(jīng)在一個刪除序列中(延時刪除)。
Memcached::RES_NOTFOUND元素未找到(通過get或cas操作時)。
Memcached::RES_PARTIAL_READ局部網(wǎng)絡數(shù)據(jù)讀錯誤。
Memcached::RES_SOME_ERRORS在多key獲取的時候發(fā)生錯誤。
Memcached::RES_NO_SERVERS服務器池空。
Memcached::RES_END結果集到結尾了。
Memcached::RES_ERRNO系統(tǒng)錯誤。
Memcached::RES_BUFFERED操作被緩存。
Memcached::RES_TIMEOUT操作超時。
Memcached::RES_BAD_KEY_PROVIDED提供了無效的key。
Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE創(chuàng)建網(wǎng)絡socket失敗。
Memcached::RES_PAYLOAD_FAILURE不能壓縮/解壓縮或序列化/反序列化值。