Memcached-1.4.4-14 For Win32 or Win64

注意:如下相關軟件是以2015-03-23日能找到的最新的版本爲基礎提供的教程
php

1、下載並安裝memcached服務器端軟件
html

這個就比如mysql數據庫,必須安裝mysql服務器端軟件。
mysql

一、下載服務端memcached軟件
nginx

32bit:下載 memcached-win32-1.4.4-14.zip(直接下)裏面包含6個文件,將解壓後的文件夾隨便放在什麼位置(例如:D:\wamp_win7\bin\memcached-win32-1.4.4-14,我本地使用wamp搭建的服務器)。
memcached-win32-1.4.4-14.zip下載頁面:http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available
sql

64bit:若是須要win64版,下載 memcached-win64-1.4.4-14.zip(直接下),裏面有個三個文件,用這三個文件覆蓋win32下同名文件。
memcached-win64-1.4.4-14.zip下載頁面:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

shell


二、以管理員身份運行 cmd.exe,並轉至memcached所在文件夾,好比:
數據庫

cd D:\wamp_win7\bin\memcached-win32-1.4.4-14

注意:若是不以管理員身份運行,將獲得報錯「failed to install service or service already installed」

三、安裝memcached:  
apache

d:\wamp_win7\bin\memcached-win32-1.4.4-14> memcached.exe -d install

(以後屏幕無任何提示,能夠再[控制面板]->[管理工具]->[服務]中查看到memcached)

四、啓動memcached:
(1)啓動方法1:
d:\wamp_win7\bin\memcached-win32-1.4.4-14> memcached.exe -d start
以後屏幕無任何提示,可是在「任務管理器」中勾選「顯示全部用戶進程」,此時能夠看到memcached.exe進程正在運行
默認端口11211,外部訪問須要開放該端口,不然沒法成功鏈接。
(2)啓動方法2:
[控制面板]->[管理工具]->[服務] 找到 memcached 服務,雙擊它打開以下圖

啓動類型:選擇【自動】
服務狀態:點擊下面的【啓動】
備註:可執行文件的路徑和我上面所說的路徑有些區別能夠忽略
windows


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

設置參數時須要先中止memcached,而後用命令行設置,好比:
瀏覽器

D:\wamp_win7\bin\memcached-win32-1.4.4-14> memcached.exe -m 1 -d start


六、中止memcached:

D:\wamp_win7\bin\memcached-win32-1.4.4-14> memcached.exe -d stop


七、卸載memcached:

D:\wamp_win7\bin\memcached-win32-1.4.4-14> memcached.exe -d uninstall


相關問題:
一、設置最大佔用內存後好像沒起做用。
-m tells memcached how much RAM to use for item storage (in megabytes). Note carefully that this isn't a global memory limit, so memcached will use a few % more memory than you tell it to. Set this to safe values. Setting it to less than 48 megabytes does not work properly in 1.4.x and earlier. It will still use the memory.

轉自:http://stackoverflow.com/questions/6112324/memcached-using-more-than-max-memory
參考:https://code.google.com/p/memcached/wiki/NewConfiguringServer

二、在同一個程序集裏將一個值放入到memcache裏,立刻去時能夠取到,可是在另外一個程序集裏取的時候取不到,或者telnet也拿不到值。
可能問題及解決辦法:
a. 存儲的值序列化後不一樣類型,則須要將其更新爲同一類型,建議使用同一的常見類型,如string,int等,放入string能夠拼成一個xml字符串,而後到使用的時候在作解析
b. 頗有多是memcache池已經滿了,能夠設置<socketPool minPoolSize="100" maxPoolSize="1000" connectionTimeout="00:10:00" deadTimeout="00:02:00"/>


參考1:win7 安裝 memcached
http://www.cnblogs.com/jiajinyi/p/3531381.html




2、PHP啓用memcache擴展,使得php可以操做memcache

一、下載php memcache.dll 擴展

官網下載地址:http://pecl.php.net/package/memcache/3.0.8/windows
注意選對版本,由於我本地使用的是wamp搭建的環境,線程安全版本、PHP爲5.3x,因此我下載的是5.3 Thread Safe (TS) x86(TS爲線程安全[Thread Safety]的意思),如何查看是線程安全仍是非線程安全呢?以及如何查看時PHP版本呢?


相關問題:

一、如何查看是線程安全仍是非線程安全呢?
例如:在跟目錄下新建一個php文件,ox.php ,而後再裏面輸入

<?php phpinfo();

保存,並在瀏覽器訪問該文件,以下圖(即經過php的內置函數phpinfo()查看php的環境信息)

可見:PHP的版本爲5.3.13,線程安全爲開啓便是線程安全版本。

二、解壓縮下載的文件(php_memcache-3.0.8-5.3-ts-vc9-x86.zip),以下


把 php_memcache.dll 擴展文件拷貝到 php 的擴展目錄中,例如(E:\wamp_win7\bin\php\php5.3.13\ext)


三、修改php.ini文件,加載memcache.dll擴展

打開php.ini(例如:E:\wamp_win7\bin\apache\apache2.2.22\bin\php.ini 由於我使用的是wamp搭建的,因此php.ini的文件是在這裏,其餘的通常是在php的目錄下)
找到一堆設置擴展的地方或是最底部,添加

extension=php_memcache.dll


保存,而後重啓apache或是nginx或是iis,便可經過phpinfo() 函數執行後的頁面看到memcache已經加載了

終於搞定!


其餘:
php使用 memcache 存儲 session 服務器配置方法
http://my.oschina.net/u/205403/blog/392596

相關文章
相關標籤/搜索