Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫的,但是客戶端可以用任何語(yǔ)言來(lái)編寫,并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。但是它并不提供冗余(例如,復(fù)制其hashmap條目);當(dāng)某個(gè)服務(wù)器S停止運(yùn)行或崩潰了,所有存放在S上的鍵/值對(duì)都將丟失。
Memcached由Danga Interactive開(kāi)發(fā),其最新版本發(fā)布于2010年,作者為Anatoly Vorobey和Brad Fitzpatrick。用于提升LiveJournal . com訪問(wèn)速度的。LJ每秒動(dòng)態(tài)頁(yè)面訪問(wèn)量幾千次,用戶700萬(wàn)。Memcached將數(shù)據(jù)庫(kù)負(fù)載大幅度降低,更好的分配資源,更快速訪問(wèn)。
一、下載Memercached For Windows
下載地址:
4、 使用telnet命令 驗(yàn)證緩存服務(wù)器是否可用。
開(kāi)始什么都不顯示,回車后輸入命令 stats 查看統(tǒng)計(jì)信息,如下圖,說(shuō)明服務(wù)器運(yùn)作正常。
三、參數(shù)介紹
1、 以上的安裝和啟動(dòng)都是在默認(rèn)環(huán)境下進(jìn)行的,在安裝時(shí)可設(shè)置如下參數(shù):
-p 監(jiān)聽(tīng)的端口
-l 連接的IP地址, 默認(rèn)是本機(jī)
-d start 啟動(dòng)memcached服務(wù)
-d restart 重起memcached服務(wù)
-d stop|shutdown 關(guān)閉正在運(yùn)行的memcached服務(wù)
-d install 安裝memcached服務(wù)
-d uninstall 卸載memcached服務(wù)
-u 以的身份運(yùn)行 (僅在以root運(yùn)行的時(shí)候有效)
-m 最大內(nèi)存使用,單位MB。默認(rèn)64MB
-M 內(nèi)存耗盡時(shí)返回錯(cuò)誤,而不是刪除項(xiàng)
-c 最大同時(shí)連接數(shù),默認(rèn)是1024
-f 塊大小增長(zhǎng)因子,默認(rèn)是1.25
-n 最小分配空間,key+value+flags默認(rèn)是48
-h 顯示幫助
如:“memcached -d install -l 127.0.0.1 -m 1024 -c2048”。
2、 如果在安裝時(shí)沒(méi)有添加參數(shù),可通過(guò)修改注冊(cè)表信息進(jìn)行設(shè)置,打開(kāi)注冊(cè)表,找
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached
在其中有一個(gè)“ImagePath”項(xiàng),值為:
"C:/Memcached/memcached-win32-1.4.4-14/memcached.exe" -d runservice
在后面加上“-m 1024 -c2048”。如下圖:
3、輸入stats命令后,頁(yè)面出現(xiàn)的參數(shù)介紹。
STAT pid 4356 服務(wù)器進(jìn)程IDSTAT uptime 56625 服務(wù)器運(yùn)行時(shí)間,單位秒STAT time 1225249079 服務(wù)器當(dāng)前的UNIX時(shí)間STAT version1.1.0服務(wù)器的版本號(hào)STAT pointer_size 64STAT rusage_user 151.845489 該進(jìn)程累計(jì)的用戶時(shí)間(秒:微妙)STAT rusage_system 121.667603 該進(jìn)程累計(jì)的系統(tǒng)時(shí)間(秒:微妙)STAT ibuffer_size 4096STAT curr_connections 13 連接數(shù)量STAT total_connections 54136 服務(wù)器運(yùn)行以來(lái)接受的連接總數(shù)STAT connection_structures 318 服務(wù)器分配的連接結(jié)構(gòu)的數(shù)量STAT cmd_get 100595 取回請(qǐng)求總數(shù)STAT cmd_set 6510 存儲(chǔ)請(qǐng)求總數(shù)STAT get_hits 96543 請(qǐng)求成功的總次數(shù)STAT get_misses 4052 請(qǐng)求失敗的總次數(shù)STAT bytes_read 4427679 服務(wù)器從網(wǎng)絡(luò)讀取到的總字節(jié)數(shù)STAT bytes_written 6585596 服務(wù)器向網(wǎng)絡(luò)發(fā)送的總字節(jié)數(shù)
備注:
uptime 是memcached運(yùn)行的秒數(shù),cmd_get是查詢緩存的次數(shù)。 cmd_get/uptime得到平均每秒請(qǐng)求緩存的次數(shù)。cmd_set是設(shè)置key=>value的次數(shù)。整個(gè)memcached是個(gè)大hash,用cmd_get沒(méi)有找到的內(nèi)容,就會(huì)調(diào)用cmd_set寫進(jìn)緩存里。get_hits是緩存命中的次數(shù),緩存命中率 = get_hits/cmd_get *100%。get_misses加上get_hits等于cmd_get。total_itemscurr_items表示現(xiàn)在在緩存中的鍵值對(duì)個(gè)數(shù)。total_items == cmd_set == get_misses,不過(guò)當(dāng)可用最大內(nèi)存用光時(shí),如果memcached設(shè)置為刪掉內(nèi)容,上面的等式就不成立了。
新聞熱點(diǎn)
疑難解答
圖片精選