首先是命名的東西:
memcache——apt-get中不存在這個包,如果指php5-memcache,則是包含了memcache.so的包
memcached——指服務端的daemon。如果指php5-memcached,則此包包含了memcached.so
memcachedb——一個分佈式的鍵值持久化存儲系統
libmemcached——memcached的客戶端庫,包含了libmemcached.so
如果我們要搭建服務端,則服務端必須安裝
apt-get install memcached
客戶端要則必須安裝
apt-get install libapache2-mod-php5 php5-memcache
這次客戶端是用php使用memcached,所以在/etc/php5/conf.d/memcache.ini中已經表明了擴展文件memcache.so
服務端用了兩個機器,ip分別是10.1.1.11和10.1.1.12
各自在兩個機器上使用
memcached -d -m 10 -u root -l 10.1.1.11 -p 12345 -c 256 -P /tmp/memcached.pid
memcached -d -m 10 -u root -l 10.1.1.11 -p 12346 -c 256 -P /tmp/memcached.pid
memcached -d -m 10 -u root -l 10.1.1.12 -p 12345 -c 256 -P /tmp/memcached.pid
在客戶端偵測是否啓用了memcache擴展,則使用phpinfo()函數
在客戶端簡單使用memcache做個試驗
<?php
$mem = new Memcache;
$mem->addServer("10.1.1.11", 12345);
$mem->addServer("10.1.1.11", 12346);
$mem->addServer("10.1.1.12", 12345);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
$status = $mem->getExtendedStats();
print_r($status);
$mem->set('name', 'lzy', 0, 60);
$name = $mem->get('name');
echo $name;
?>