標籤:http 使用 os 資料 io art
關鍵字:memcached(windows)安裝與配置
1. 下載windows版本的Memcached:http://code.jellycan.com/memcached/
2.解壓之後放在硬碟的目錄下,如:D:\memcached . 然後在運行中輸入cmd進入命令列,進入到Memcached.exe 所在的目錄,例如:D:\memcached,然後輸入:
Cmd代碼 收藏代碼
到memcached根目錄
1、安裝
memcached.exe –d install
2、啟動
memcached.exe -d start
此時memcached已經註冊為開機啟動服務
完成安裝。
經實驗使用命令修改連接埠無效,相應的解決方案是修改註冊表:
通過修改註冊表來達到這個修改連接埠的目的。
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一個 ImagePath 的字串項,正好是服務的執行路徑的字串,雙擊該串,在後面加入 -l 192.168.1.135 -m 45 -p 12345 (訪問ip為:192.168.1.135 使用45M記憶體,12345為連接埠),再啟動服務。
現在來試試是否可以串連:
使用方法為“telnet ip 連接埠號碼”,登入後使用“stats”命令
cmd下
telnet 192.168.1.135 12345(注意:這裡只能用IP 不能用 localhost 或127.0.0.1)
然後使用:stats命令可以看到memcached的使用方式如下:
STAT uptime 760
STAT time 1311913149
STAT version 1.2.1
STAT pointer_size 32
STAT curr_items 0
STAT total_items 0
STAT bytes 0
STAT curr_connections 4
STAT total_connections 6
STAT connection_structures 5
STAT cmd_get 0
STAT cmd_set 0
STAT get_hits 0
STAT get_misses 0
STAT bytes_read 63
STAT bytes_written 793
STAT limit_maxbytes 10485760
END
3、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 顯示協助
4、最主要的一點,在windows下安裝memcache通過命令列修改參數好像不起什麼作用,需要進入註冊表修改啟動項參數才有用,具體操作如下:進入註冊表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server , 在其中有一個ImagePath 項,值為"d:\memcached\memcached.exe" -d runservice ,在後面加上-l 127.0.0.1 -m 3000 -c 2048 最後ImagePath 項值應該像這樣:
註冊表值代碼 收藏代碼
1. d:\memcached\memcached.exe" -d runservice -l 127.0.0.1 -m 3000 -c 2048
d:\memcached\memcached.exe" -d runservice -l 127.0.0.1 -m 3000 -c 2048
5、memcached –d start 啟動memcached服務,這樣就將memcached的最大記憶體修改為了3000MB。
對Memcached快取服務的狀態查詢,可以先telnet串連上服務:telnet 127.0.0.1 11211 ,然後使用 stats命令查看快取服務的狀態,會返回如下的資料:
time: 1255537291 伺服器當前的unix時間戳記
total_items: 54 從伺服器啟動以後儲存的items總數量
connection_structures: 19 伺服器分配的串連構造數
version: 1.2.6 memcache版本
limit_maxbytes: 67108864 分配給memcache的記憶體大小(位元組)
cmd_get: 1645 get命令(擷取)總請求次數
evictions: 0 為擷取空閑記憶體而刪除的items數(分配給memcache的空間用滿後需
要刪除舊的items來得到空間分配給新的items)
total_connections: 19 從伺服器啟動以後曾經開啟過的串連數
bytes: 248723 當前伺服器儲存items佔用的位元組數
threads: 1 當前線程數
get_misses: 82 總未叫用次數
pointer_size: 32 當前作業系統的指標大小(32位系統一般是32bit)
bytes_read: 490982 總讀取位元組數(請求位元組數)
uptime: 161 伺服器已經啟動並執行秒數
curr_connections: 18 當前開啟著的串連數
pid: 2816 memcache伺服器的進程ID
bytes_written: 16517259 總發送位元組數(結果位元組數)
get_hits: 1563 總叫用次數
cmd_set: 54 set命令(儲存)總請求次數
curr_items: 28 伺服器當前儲存的items數量
關於memcache 的一下疑問:
memcached能接受的key的最大長度是多少?
key 的最大長度是250個字元。需要注意的是,250是memcached伺服器端內部的限制,如果您使用的用戶端支援”key的首碼”或類似特性,那麼 key(首碼+原始key)的最大長度是可以超過250個字元的。我們推薦使用使用較短的key,因為可以節省記憶體和頻寬。
memcached對item的到期時間有什麼限制?
到期時間最大可以達到30天。memcached把傳入的到期時間(時間段)解釋成時間點後,一旦到了這個時間點,memcached就把item置為失效狀態。這是一個簡單但obscure的機制。
memcached最大能儲存多大的單個item?
1MB。如果你的資料大於1MB,可以考慮在用戶端壓縮或拆分到多個key中。
為什麼單個item的大小被限制在1M byte之內?
啊…這是一個大家經常問的問題!
簡單的回答:因為記憶體 Clerk的演算法就是這樣的