Memcached的特點:
協議簡單
基於libevent的事件處理
內建記憶體儲存方式
memcached不互相通訊的分布式
1.協議簡單:
使用簡單的基於文本的協議,因而通過telnet也能在memcached上儲存資料、取得資料
2.基於libevent:
將Linux等作業系統事件處理功能封裝成統一的介面,能在Linux、BSD等作業系統上發揮其高效能
3.內建記憶體儲存方式:
為了提高效能,memcached中儲存的資料都儲存在memcached內建的儲存空間中,如果內容容量達到指定的值以後,就基於LRU(Least Recently Used)演算法自動刪除不使用的緩衝
4.memcached不互相通訊的分布式
memcached伺服器端並沒有分布式功能。各個memcached不會互相通訊以共用資訊,分布式完全取決於用戶端的實現
Linux下memcached的安裝:
sudo yum install libevent libevent-deval
wget http://ip/xxxxx
tar zxf memcached-version.tar.gz
cd memcached-version
./configure
make
sudo make install
memcached的啟動:
/usr/local/bin/memcached -p 11211 -m 64m -vv
選項說明:
選項 說明
-p 使用TCP連接埠,預設為11211
-m 最大記憶體大小,預設為64m
-vv 用very vrebose模式啟動,調試資訊和錯誤輸出到控制台
-d 作為daemon在後台啟動
-h 協助
<?php$memcache = new Memcache;$memcache->connect('localhost', 11211) or die ("Could not connect");$version = $memcache->getVersion();echo "Server's version: ".$version."<br/>\n";$tmp_object = new stdClass;$tmp_object->str_attr = 'test';$tmp_object->int_attr = 123;$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";$get_result = $memcache->get('key');echo "Data from the cache:<br/>\n";var_dump($get_result);?>
memcache儲存資料的方法有:
add
replace
set
使用方法:
$add = $memcache->add('鍵','值','期限');
$replace = $memcache->replace('鍵','值','期限');
$set = $memcache->set('鍵','值','期限');
memcache擷取資料的方法:
get
使用方法:
$getResult = $memcache->get('鍵');
var_dump($getResult);