linux下的Memcache安裝: 1. 下載 memcache的linux版本,注意 memcached 用 libevent 來作事件驅動,所以要先安裝有 libevent。 官方網址:http://memcached.org/ 2. 安裝 pecl::memcache。 用 pecl 命令行工具安裝: 1pecl install memcache 或直接從源碼安裝: 1. phpize 2. ./configure 3. make 4. 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); ?>