Windows下的Memcache安裝與測試教程

Windows下的Memcache安裝
一、下載memcache for windows。
php

下載地址:http://splinedancer.com/memcached-win32/,推薦下載binaries版本, apache

解壓(本例中解壓到e:memcached-1.2.4)。
二、安裝memcache, windows

在命令行狀態下輸入: e:/memcached-1.2.4/memcached.exe -d install 。至此memcached已經安裝成windows服務
三、啓動memcache, 服務器

在命令行下輸入: e:/memcached-1.2.4/memcached.exe -d start 以啓動memcached服務。 session

或者也能夠選擇在windows服務中啓動 tcp


到此,memcache的服務器端就準備完畢,接下來須要安裝php的memcache擴展, 分佈式


php安裝Memcached模塊支持
一、下載php_memcache.dll模塊,
ide

你能夠從http://downloads.php.net/pierre/找到對應的版本,
php5.3對應php_memcache-2.2.6-5.3-vc9-x86.zip memcached

將php_memcache.dll放到php\ext目錄下, 測試

二、修改php.ini來加入擴展,並並重啓apache服務器

加入extension=php_memcache.dll、重啓apache服務器,

而後查看一下phpinfo,若是有memcache,那麼就說明安裝成功!


測試windows下的Memcached
測試代碼以下:

[php] view plain copy
  1. <?php  
  2. $mem = new Memcache;  
  3. $mem->connect("127.0.0.1", 11211);  
  4. $mem->set('key''Hello Memcached!', 0, 60);  
  5. $val = $mem->get('key');  
  6. echo $val;  
  7. ?>  

Example #1 memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

[php] view plain copy
  1. <?php  
  2. $memcache = new Memcache;  
  3. $memcache->connect('localhost', 11211) or die ("Could not connect");  
  4. $version = $memcache->getVersion();  
  5. echo "Server's version: ".$version."<br/>n";  
  6. $tmp_object = new stdClass;  
  7. $tmp_object->str_attr = 'test';  
  8. $tmp_object->int_attr = 123;  
  9. $memcache->set('key'$tmp_object, false, 10) or die ("Failed to save data at the server");  
  10. echo "Store data in the cache (data will expire in 10 seconds)<br/>n";  
  11. $get_result = $memcache->get('key');  
  12. echo "Data from the cache:<br/>n";  
  13. var_dump($get_result);  
  14. ?>  

Example #2 Using memcache session handler
[php] view plain copy
  1. <?php  
  2. $session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";  
  3. ini_set('session.save_handler''memcache');  
  4. ini_set('session.save_path'$session_save_path);  
  5. ?>  



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 顯示幫助

接口介紹

Memcache客戶端包含兩組接口,一組是面向過程的接口,一組是面向對象的接口,具體能夠參考PHP手冊 「LXXV. Memcache Functions」 這章。

Memcache面向對象的經常使用接口包括: Memcache::connect — 打開一個到Memcache的鏈接 Memcache::pconnect — 打開一個到Memcache的長鏈接 Memcache::close — 關閉一個Memcache的鏈接 Memcache::set — 保存數據到Memcache服務器上 Memcache::get — 提取一個保存在Memcache服務器上的數據 Memcache::replace — 替換一個已經存在Memcache服務器上的項目(功能相似Memcache::set) Memcache::delete — 從Memcache服務器上刪除一個保存的項目 Memcache::flush — 刷新全部Memcache服務器上保存的項目(相似於刪除全部的保存的項目) Memcache::getStats — 獲取當前Memcache服務器運行的狀態 Memcache::addServer — 分佈式服務器添加一個服務器

相關文章
相關標籤/搜索