1. 下載 memcached-win32-1.4.4-14.zip ,里面包含6個文件,將解壓后的文件夾隨便放在什么位置。如果需要win64版,下載 memcached-win64-1.4.4-14.zip ,里面有個三個文件,用這三個文件覆蓋win32下同名文件。
2. 以管理員身份運行 cmd.exe,並轉至memcached所在文件夾,比如: cd c:\memcached 。(如果不以管理員身份運行,將得到報錯“failed to install service or service already installed”)
3. 安裝memcached:
c:\memcached> memcached.exe -d install
(之后屏幕無任何提示)
4. 啟動memcached:
c:\memcached> memcached.exe -d start
(之后屏幕無任何提示,但是在“任務管理器”中勾選“顯示所有用戶進程”,此時可以看到memcached.exe進程正在運行)
默認端口11211,外部訪問需要開放該端口,否則無法成功連接。
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 顯示幫助
設置參數時需要先停止memcached,然后用命令行設置,比如:c:\memcached> memcached.exe -m 1 -d start
6. 停止memcached:
c:\memcached> memcached.exe -d stop
7. 卸載memcached:
c:\memcached> memcached.exe -d uninstall
相關問題:
1. 設置最大占用內存后好像沒起作用。
-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
2. 在同一個程序集里將一個值放入到memcache里,馬上去時可以取到,但是在另一個程序集里取的時候取不到,或者telnet也拿不到值。
可能問題及解決辦法:
a. 存儲的值序列化后不同類型,則需要將其更新為同一類型,建議使用同一的常見類型,如string,int等,放入string可以拼成一個xml字符串,然后到使用的時候在做解析
b. 很有可能是memcache池已經滿了,可以設置<socketPool minPoolSize="100" maxPoolSize="1000" connectionTimeout="00:10:00" deadTimeout="00:02:00"/>