PHP緩衝技術:memcache函數詳解之二

來源:互聯網
上載者:User

 

轉自www.5iphp.com

memcache::debug

bool memcache_debug ( bool $on_off )

 

說明:

控制調試功能,前提是php在編譯的時候使用了-enable-debug選項,否則這個函數不會有作用。

 

參數:

$on_off:true表示開啟調試,false表示關閉調試

 

傳回值:

如果php在編譯的時候使用了-enable-debug選項,返回true,否則返回false

 

 

Memcache::decrement用法

int Memcache::decrement ( string $key [, int
$value ] )

 

說明:

Memcache::decremen方法的作用是對儲存的某個key中的值進行減法操作,用法跟Memcache::increment類似。

你也可以用memcache_decrement()函數。

 

參數:

Key:想要減少的鍵的名字

Value:想要減少的值。

 

傳回值:

如果成功,返回被減少後的值,如果失敗返回false。

 

例子:

<?php

$memcache = new Memcache;

$memcache->connect('localhost', 11211);

$memcache->set('test_item', 8);

$memcache->increment('test_item', 4);

echo $memcache->decrement('test_item', 7);

// 顯示 5

?>

這個例子連Memcache::increment函數都一塊示範了。

 

Memcache::delete用法

bool Memcache::delete ( string $key [, int
$timeout ] )

 

說明:

刪除一個key值,如果參數$timeout被設定,那麼儲存的值會在設定的秒數以後到期,你也可以用函數memcache_delete()

 

傳回值:

如果成功則返回 TRUE,失敗則返回 FALSE。

 

例子:

<?php

/* 面向過程 API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* 在10秒以後,緩衝的值會被伺服器刪除 */
memcache_delete($memcache_obj, 'key_to_delete', 10);

/* 物件導向 API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete', 10);

?>

 

 

Memcache::flush

bool Memcache::flush ( void )

 

說明:

清除所有緩衝的資料。Memcache::flush實際上沒有釋放資源,它僅僅將所有的快取標籤為到期,這樣可以使新的緩衝來覆蓋被占的記憶體空間。一樣的函數是memcache_flush()

 

傳回值:

如果成功則返回 TRUE,失敗則返回 FALSE。

 

例子:

<?php

/* 面向過程 API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* 物件導向 API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

 

 

Memcache::get

string Memcache::get ( string $key [, int
&$flags ] )

array Memcache::get ( array $keys [, array
&$flags ] )

 

說明:

方法的作用是擷取一個key值,key值可以是一個數組,結果會包含索引值對。

 

參數:

$key是索引值或者一個鍵的數組值。

$flags如果這個參數存在,那麼$flags跟寫入這個參數的值相關,這些$flags 類似於Memcache::set()函數裡的$flags。

 

傳回值:

如果成功,則返回key對應的值,如果失敗則返回false.

 

例子:

<?php

/* 面向過程 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* 物件導向 API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/* 
你可以使用數組鍵作為參數,如果值沒有在伺服器中找到,那麼結果數組不會包含該鍵
*/

/* 面向過程 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* 物件導向 API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

 

Memcache::getExtendedStats

array Memcache::getExtendedStats ([ string $type [, int
$slabid [, int $limit ]]] )

 

說明:

擷取進程池中所有進程的運行系統統計。相同函數是memcache_get_extended_stats()

 

參數:

$type表示要求返回的類型:reset, malloc, maps, cachedump, slabs, items, sizes;

$slabid第一個參數設定為"cachedump"時使用的。

$limit第一個參數設定為"cachedump"時使用的。

 

傳回值:

如果成功,返回統計資訊,失敗會返回false

 

例子:

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);
    
    $stats = $memcache_obj->getExtendedStats();

   //slabs機制分配管理記憶體的情況

$statsslab = $memcache_obj->getExtendedStats(slabs);
    
?>

 

 

Memcache::getServerStatus

int Memcache::getServerStatus ( string $host [, int
$port ] )

 

說明:

擷取運行伺服器的參數。返回一個伺服器線上或者離線的狀態。相同的函數是memcache_get_server_status()

 

參數:

$host:正在收聽的串連的主機

$port正在收聽的串連的主機的連接埠,預設是11211

 

傳回值:

成功返回伺服器狀態,伺服器沒有啟動會返回0,其他數位時候表示伺服器是啟動狀態的。

 

例子:

<?php

/* 物件導向 API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* 面向過程 API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

 

 

Memcache::getStats

array Memcache::getStats ([ string $type [, int
$slabid [, int $limit ]]] )

 

說明:

返回伺服器的一些運行統計資訊。相同的函數是memcache_get_stats()

 

參數:

$type表示要求返回的類型:reset, malloc, maps, cachedump, slabs, items, sizes;

$slabid第一個參數設定為"cachedump"時使用的。

$limit第一個參數設定為"cachedump"時使用的。

 

傳回值:

成功返回伺服器的統計資訊數組,失敗返回false。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.