轉自www.5iphp.com
Memcache::getVersion
string Memcache::getVersion ( void )
說明:
傳回運作的Memcache的版本資訊。相同函數memcache_get_version()
傳回值:
成功傳回伺服器的版本資訊,失敗的時候傳回false。
例子:
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);
?>
Memcache::increment
int Memcache::increment ( string $key [, int $value ] )
對儲存的某個key中的值進行加法操作
用法參考Memcache::decrement
Memcache::pconnect
bool Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )
說明:
建立一個Memcache的持久連接配接對象
用法與Memcache::connect()相似,不同點地方是Memcache::pconnect是建立的持久連接配接。這個連接配接在腳本執行完或者Memcache::close()函數運作也不會被關閉。與它相同的函數是memcache_pconnect()
參數:
$host:指向memcached正在收聽的連結的主機,這個參數會有另一種特殊的連接配接方式unix:///path/to/memcached.sock,即用unix的域名sockets,這種情況下,端口必須設定為0
$port:指向memcached正在收聽的連結的端口,用unix的域名sockets的情況下,端口必須設定為0
$timeout:用于連接配接守護程序的秒數,當你改變預設的1秒的值的時候,你需要考慮一下,如果你的連接配接太慢的話,你可能會失去緩存的優勢。
傳回值:
如果成功則傳回 TRUE,失敗則傳回 FALSE
$memcache_obj = memcache_pconnect('memcache_host', 11211);
$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);
?>
Memcache::replace
bool Memcache::replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
說明:
對一個已有的key進行覆寫操作。相同函數是memcache_replace()
參數:
$key :将要存儲的鍵值。
$var :存儲的值,字元型和整型會按原值儲存,其他類型自動序列化以後儲存。
$flag:是否用MEMCACHE_COMPRESSED來壓縮存儲的值,true表示壓縮,false表示不壓縮。
$expire:存儲值的過期時間,如果為0表示不會過期,你可以用unix時間戳或者描述來表示從現在開始的時間,但是你在使用秒數表示的時候,不要超過2592000秒 (表示30天)。
傳回值:
如果成功則傳回 TRUE,失敗則傳回 FALSE。如果$key值已經存在,則會傳回FALSE。
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);
$memcache_obj->replace("test_key", "some variable", false, 30);
?>
Memcache::set
bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
說明:
添加一個值,如果已經存在,則覆寫。相同函數是memcache_set()
參數:
$key :将要存儲的鍵值。
$var :存儲的值,字元型和整型會按原值儲存,其他類型自動序列化以後儲存。
$flag:是否用MEMCACHE_COMPRESSED來壓縮存儲的值,true表示壓縮,false表示不壓縮。
$expire:存儲值的過期時間,如果為0表示不會過期,你可以用unix時間戳或者描述來表示從現在開始的時間,但是你在使用秒數表示的時候,不要超過2592000秒 (表示30天)。
傳回值:
如果成功則傳回 TRUE,失敗則傳回 FALSE。
例子:
$memcache_obj= newMemcache;
$memcache_obj->connect('memcache_host',11211);
$memcache_obj->set('var_key','some really big variable',MEMCACHE_COMPRESSED,50);
echo$memcache_obj->get('var_key');
Memcache::setCompressThreshold
bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )
說明:
對大于某一大小的資料進行壓縮。相同的函數是memcache_set_compress_threshold()
參數:
setCompressThreshold方法有兩個參數,第一個參數表示處理資料大小的臨界點,第二個參數表示壓縮的比例,預設為0.2。
傳回值:
如果成功則傳回 TRUE,失敗則傳回 FALSE。
例子:
$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);
?>
Memcache::setServerParams
bool Memcache::setServerParams ( string $host [, int $port [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback ]]]]] )
說明:
在運作時修改伺服器的參數。相同函數是memcache_set_server_params()。
參數:
$host伺服器的位址
$port伺服器端口
$timeout連接配接的持續時間
$retry_interval連接配接重試的間隔時間,預設為15,設定為-1表示不進行重試
$status控制伺服器的線上狀态
$failure_callback允許設定一個回掉函數來處理錯誤資訊。
傳回值:
如果成功則傳回 TRUE,失敗則傳回 FALSE。
例子:
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
$memcache = new Memcache;
// 離線模式增加一個伺服器
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// 把伺服器設成線上
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>