我最近研究這個memcache 發(fā)現(xiàn)這個東東,版本以及名稱很多,有點混亂,這兩天研究下來我是這么梳理的,不知道對不對,和大家一起分享
Memcached 是分布式cache,他有服務端和client端,核心版本是在Linux上運行
官方網(wǎng)站為 http://memcached.org/ 對應的wiki在google上
http://code.google.com/p/memcached/ 其實現(xiàn)在memcached的相關文檔和代碼都在google.code上了
對應Linux 上版本的維護的挺好,但是對于windows版本的就很糟糕了,可能因為大型應用大多是Unix或其變種
我在google上搜索了半天找到下面基本版本
windows的就有
http://jehiah.cz/projects/memcached-win32/
http://www.splinedancer.com/memcached-win32/ 基于上面的win32
win-1.2.6版本可以在
http://code.jellycan.com/memcached/ 找到
雖然這三個地方都是memcached for windows 而且還是不同人寫的,但是他們感覺好像都有版本約定,比較有序,
比如http://jehiah.cz/projects/memcached-win32/ 好像是1.1--1.2.1
http://www.splinedancer.com/memcached-win32/ 本身網(wǎng)站上就寫了
This is a port of memcached to the win32 architecture by Kenneth Dalgleish, based on Kronuz's 1.2.1 port
是基于上面的1.2.1寫的 他有的版本是1.2.4
而http://code.jellycan.com/memcached/ 版本是1.2.5 1.2.6
這種有序是我猜想的,也有可能是他們都是根據(jù)核心 memcached 進行編譯為win32版本,而win32的版本根據(jù)核心memcached版本來定義的。
這些只是猜想,反正結論是windows 的memcached server版本比較分散沒有主要維護,但是他們也有各種的版本歷史。如有知道這個歷史內幕的
請反饋,謝謝。
我剛剛在google wiki上發(fā)現(xiàn)了windows 一起其他os的memcached鏈接
http://code.google.com/p/memcached/wiki/Start 【Server ports to other platforms--->windows】
現(xiàn)在是1.4版本了,其實也是鏈接到其他website
http://labs.northscale.com/memcached-packages/ (又多了一個出處)
好了,到現(xiàn)在我們不再猜測他的歷史問題,雖然windows 版本很多但是他們的安裝步驟都是一樣的
我現(xiàn)在從http://labs.northscale.com/memcached-packages/ 下載的是最新的版本memcached-win32-1.4.4-54-g136cb6e.zip
一,安裝memcached for windows
1.解壓memcached-win32-1.4.4-54-g136cb6e.zip
2.將里面的文件放入 E:\memcached\memcached_win32
3.直接到目錄E:\memcached\memcached_win32 下執(zhí)行命令 memcached.exe -d install 安裝服務
4.這個時候去控制面板--》管理工具--》服務 中就能看到一個memcached 的服務
5.如果卸載服務 那就memcached.exe -d uninstall,除此 還有 start restart命令,具體你可以通過memcached.exe -h 查看幫助
目前只是可以看到是否安裝了服務,接下來我們應該去測試這個memcached server是否成功
測試這個memcached 有很多方式,
本身memcahed 有很多client端http://code.google.com/p/memcached/wiki/Clients
有C++,java,.net,php 等等
他們的任何一個client都可以用來測試,我們這里就用php
首先我們要搭建php 環(huán)境
二,安裝apache和php(這些網(wǎng)上都有介紹)
1.下載apache2 http://httpd.apache.org/download.cgi
2.安裝 apache2
3.下載php5
http://windows.php.net/download/ 注意要下VC6,VC6支持apache
而VC9不支持apache 是支持IIS
4.我們下載zip的這個包(比較綠色)
5.解壓zip包 主目錄為E:\php5,將“php.ini-recommended”文件備份并更名為“php.ini”。
6.查看php.ini
查找“extension_dir”字段,賦值為php解壓路徑中的ext目錄下,如"E:\php5\ext"
查找 cgi.force_redirect 字串.默認值為1.將其修改為0.并取消前面的;號
7.分別查找擴展,將其之前的;去掉。
extension=php_mbstring.dll(寬字符,用于支持PhpMyAdmin,避免出現(xiàn)字符顯示問題)
extension=php_mcrypt.dll(用于支持PhpMyAdmin)
這些dll在E:\php5\ext可以找到,這里我們?yōu)榱诉B接memcached server 我們需要
加入一行 ‘extension=php_memcache.dll’一般ext沒有該dll
請在http://downloads.php.net/pierre/ 中下載相應的memcache.dll 放入到ext文件夾中
我用的是 php_memcache-5.2-Win32-vc6-x86-20090408.zip
反正就這幾個memcache dll你都試試(php的這種方式真是不好,應該還有其他方式,這里沒有研究)
8.配置Apache以支持php5:
打開apache安裝目錄下的“conf”文件夾,apache的配置主要依靠httpd.conf,用編譯工具打開該文件,修改其中的某些字段:
(1)Listen 字段, 其后默認值為80,你可以修改該端口值以改變apache服務的端口(不至于和tomcat等工具的端口發(fā)生沖突)
(2)DocumentRoot 這是你自己網(wǎng)頁文件的放置目錄,默認為apache安裝目錄下的“htdoc”文件夾,也可以改為本機上的其他目錄,采用絕對路徑。
我使用的是:DocumentRoot "D:/phpwork/"(新建的工作目錄)
9.設置起始頁:
這個地方可以照抄我的配置,也可以自己增加需要的起始頁文件名。注意文件名之間用空格隔開,而不是用逗號
<IfModule dir_module>
DirectoryIndex index.php index.html default.php default.html index.htm
</IfModule>
9.配置php模塊:在#LoadModule(有一排的代碼) 后加上兩句話(此處為我的安裝目錄,可根據(jù)自己的安裝情況進行適當?shù)?*)
PHPIniDir "E:/php5/"
LoadModule php5_module "E:/php5/php5apache2_2.dll" [這個php5apache2_2.dll 有下載的php5.3版本中就沒有,后來下載了5.2,第一次配php就遇到這種事情,這種模式真的很不好]
10. 保存httpd.conf文件,重啟Apache 如果成功啟動,在phpwork下新建一個HelloWorld.php文件
<?php
echo "HelloWorld!<br>";
phpinfo();
?>
在瀏覽器中輸入http://localhost/:你自己設置的端口號/HelloWorld.php.哈哈~~~至此將輸出HelloWorld以及php配置環(huán)境變量信息,這就成功了。
11.測試memcached,在phpwork下新建一個memcacheTest.php文件
<?php
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set("key", 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
在瀏覽器中輸入http://localhost/:你自己設置的端口號/memcacheTest.php 如果看見This is a test!,那就表示成功了。