ubuntu+php環(huán)境下的Memcached 安裝方法
2024-07-26 00:27:37
供稿:網友
目前被很多系統(tǒng)所使用,例如Flick、Twitter等。這是一套開放源代碼軟件,以BSD license授權發(fā)布。下面記錄一下在lamp環(huán)境下的Memcached安裝。關于Memcached的應用,這里有兩篇不錯的文章:《應用 memcached 提升站點性能》、《Discuz!的Memcache緩存實現》
使用apt安裝memcached
apt-get install memcached
啟動memcached
1. 終端下使用命令 memcached就可以啟動 。例如 memcached -d。
2. 各個選項說明:
-d選項是啟動一個守護進程,
-m是分配給Memcached使用的內存數量,單位是MB。
-u是運行Memcached的用戶。
-l是監(jiān)聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的IP地址192.168.0.200。
-p是設置Memcached監(jiān)聽的端口,默認是11211。
-c選項是最大運行的并發(fā)連接數,默認是1024。
-P是設置保存Memcached的pid文件,例如 /tmp/memcached.pid。
3. 測試memcached。官方有提供一telnet例子。
復制代碼 代碼如下:
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get foo
VALUE foo 0 2
hi
END
stats
STAT pid 8861
(etc)安裝PHP的memcached拓展
#sudo apt-get install php5-memcache
編輯 /etc/php5/apache2/php.in,添加以下內容。(這一步驟參考了網上的配置,并不是最少的配置)。
[Memcache]
; 是否在遇到錯誤時透明地向其他服務器進行故障轉移。
memcache.allow_failover = On
; 接受和發(fā)送數據時最多嘗試多少個服務器,只在打開memcache.allow_failover時有效。
memcache.max_failover_attempts = 20
; 數據將按照此值設定的塊大小進行轉移。此值越小所需的額外網絡傳輸越多。
; 如果發(fā)現無法解釋的速度降低,可以嘗試將此值增加到32768。
memcache.chunk_size = 8192
; 連接到memcached服務器時使用的默認TCP端口。
memcache.default_port = 11211
PHP環(huán)境下的Memcached測試
復制代碼 代碼如下:
<?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);
?>