linux下的Memcache安裝:php
用 pecl 命令行工具安裝: pecl install memcachehtml
或直接從源碼安裝: phpize ./configure make make installlinux
Windows下的Memcache安裝:算法
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 顯示幫助windows
php.ini中的配置:緩存
[Memcache]服務器
; 一個高性能的分佈式的內存對象緩存系統,經過在內存裏維護一個統一的巨大的hash表, ; 它可以用來存儲各類格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。網絡
; 是否在遇到錯誤時透明地向其餘服務器進行故障轉移。 memcache.allow_failover = Onsession
; 接受和發送數據時最多嘗試多少個服務器,只在打開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.
memcache的測試代碼: [php] view plaincopy $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);
come from http://blog.csdn.net/hnxxwyq/article/details/2534868
http://weixiang096.blog.163.com/blog/static/12747355520119286330387/