memcache詳細操作

2021-06-19 09:26:32 字數 2456 閱讀 1685

memcache是danga.com的乙個開源專案,它是乙個高效能的分布式的記憶體物件快取系統,通過在記憶體裡維護乙個統一的巨大的hash表,能夠用來儲存各種格式的資料。

php的memcache

< ?php

//連線

$mem = new memcache;

$mem->connect("192.168.0.200", 12000);

//儲存資料

$mem->set('key1', 'this is first value', 0, 60);

$val = $mem->get('key1');

echo "get key1 value: " . $val ."";

//替換資料

$mem->replace('key1', 'this is replace value', 0, 60);

$val = $mem->get('key1');

echo "get key1 value: " . $val . "";

//儲存陣列

$arr = array('aaa', 'bbb', 'ccc', 'ddd');

$mem->set('key2', $arr, 0, 60);

$val2 = $mem->get('key2');

echo "get key2 value: ";

print_r($val2);

echo "";

//刪除資料

$mem->delete('key1');

$val = $mem->get('key1');

echo "get key1 value: " . $val . "";

//清除所有資料

$mem->flush();

$val2 = $mem->get('key2');

echo "get key2 value: ";

print_r($val2);

echo "";

//關閉連線

$mem->close();

?>

如果正常的話,瀏覽器將輸出:

get key1 value: this is first value

get key1 value: this is replace value

get key2 value: array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd )

get key1 value:

get key2 value:

程式**分析

初始化乙個memcache的物件:

$mem = new memcache;

連線到我們的memcache伺服器端,第乙個引數是伺服器的ip位址,也可以是主機名,第二個引數是memcache的開放的埠:

$mem->connect("192.168.0.200", 12000);

從memcache伺服器端獲取一條資料,它只有乙個引數,就是需要獲取資料的key,我們這裡是上一步設定的key1,現在獲取這個資料後輸出輸出:

$val = $mem->get(『key1′);

echo "get key1 value: " . $val;

現在是使用replace方法來替換掉上面key1的值,replace方法的引數跟set是一樣的,不過第乙個引數key1是必須是要替換資料內容的key,最後輸出了:

$mem->replace(『key1′, 『this is replace value』, 0, 60);

$val = $mem->get(『key1′);

echo "get key1 value: " . $val;

同樣的,memcache也是可以儲存陣列的,下面是在memcache上面儲存了乙個陣列,然後獲取回來並輸出

$arr = array(『aaa』,

『bbb』,

『ccc』, 『ddd』);

$mem->set(『key2′, $arr, 0, 60);

$val2 = $mem->get(『key2′);

print_r($val2);

現在刪除乙個資料,使用delte介面,引數就是乙個key,然後就能夠把memcache伺服器這個key的資料刪除,最後輸出的時候沒有結果

$mem->delete(『key1′);

$val = $mem->get(『key1′);

echo "get key1 value: " . $val . "";

最後我們把所有的儲存在memcache伺服器上的資料都清除,會發現資料都沒有了,最後輸出key2的資料為空,最後關閉連線

$mem->flush();

$val2 = $mem->get(『key2′);

echo "get key2 value: ";

print_r($val2);

echo "";

php操作Memcache示例

例項化 mem new memcache 新建連線 if mem connect 127.0.0.1 11211 增加 1.增加乙個字串 if mem add key1 abc memcache compressed,60 2.增加乙個數字 if mem add key2 100,memcache ...

php PHP操作Memcache基本函式

php php操作memcache基本函式 2 memcache 函式 memcache debug 轉換除錯輸出的開 關 memcache add server memcache close memcache connect memcache host 11211 memcache delete ...

PHP操作Memcache例項介紹

b s 基於瀏覽器和伺服器架構 web程式 c s qq svn client客戶端 伺服器 簡單的基於文字行的協議 redis memcache 區別 都是儲存資料的,memcache直接儲存到記憶體中,redis 儲存到記憶體中,關閉之後儲存到硬碟中,memcache 重啟電腦,關閉服務都會造成...