Windows下的Memcache安裝 linux下的Memcache安裝

神馬和浮雲發表於2014-09-04

linux下的Memcache安裝:

1. 下載 memcache的linux版本,注意 memcached 用 libevent 來作事件驅動,所以要先安裝有 libevent。

官方網址:http://memcached.org/

2. 安裝 pecl::memcache。

用 pecl 命令列工具安裝:

pecl install memcache

 

或直接從原始碼安裝:

phpize
./configure
make
make install

 

Windows下的Memcache安裝:

1. 下載memcache的windows穩定版,解壓放某個盤下面,比如在c:/memcached

2. 開始→執行→輸入cmd回車→輸入 ‘c:/memcached/memcached.exe -d install’ 安裝

3. 再輸入: ‘c:/memcached/memcached.exe -d start’ 啟動。

NOTE: 以後memcached將作為windows的一個服務每次開機時自動啟動。這樣伺服器端已經安裝完畢了。

4.下載php_memcache.dll,請自己查詢對應的php版本的檔案

5. 在C:/winnt/php.ini 加入一行 ‘extension=php_memcache.dll’

6.重新啟動Apache,然後檢視一下phpinfo,如果有memcache,那麼就說明安裝成功!

附件:

memcache下載:http://download.csdn.net/detail/x171306523c/7863679

php_memcache.dll下載:http://download.csdn.net/detail/x171306523c/7863693

 

Windows下的Memcache解除安裝:

memcached -d stop

memcached -d remove

sc delete "Memcached Server"

 

memcached的基本設定:

-p 監聽的埠
-l 連線的IP地址, 預設是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在執行的memcached服務
-d install 安裝memcached服務
-d uninstall 解除安裝memcached服務
-u 以的身份執行 (僅在以root執行的時候有效)
-m 最大記憶體使用,單位MB。預設64MB
-M 記憶體耗盡時返回錯誤,而不是刪除項
-c 最大同時連線數,預設是1024
-f 塊大小增長因子,預設是1.25-n 最小分配空間,key+value+flags預設是48
-h 顯示幫助

 

php.ini中的配置:

; 是否在遇到錯誤時透明地向其他伺服器進行故障轉移。
memcache.allow_failover = On

; 接受和傳送資料時最多嘗試多少個伺服器,只在開啟memcache.allow_failover時有效。
memcache.max_failover_attempts = 20

; 資料將按照此值設定的塊大小進行轉移。此值越小所需的額外網路傳輸越多。
; 如果發現無法解釋的速度降低,可以嘗試將此值增加到32768。
memcache.chunk_size = 8192

; 連線到memcached伺服器時使用的預設TCP埠。
memcache.default_port = 11211

; 控制將key對映到server的策略。預設值"standard"表示使用先前版本的老hash策略。
; 設為"consistent"可以允許在連線池中新增/刪除伺服器時不必重新計算key與server之間的對映關係。
;memcache.hash_strategy = "standard"; 控制將key對映到server的雜湊函式。預設值"crc32"使用CRC32演算法,而"fnv"則表示使用FNV-1a演算法。
; FNV-1a比CRC32速度稍低,但是雜湊效果更好。
;memcache.hash_function = "crc32"

 

;memcache也可以作為session的儲存模組,具體參看:memcache PHP 的 session.save_handler.

http://hi.baidu.com/whzkinger/item/6cc85c5c01fbc011db16355f

 

memcache的測試程式碼:

<?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);
?>

 

相關文章