MemCache簡(jiǎn)介
? MemCache 是一個(gè)分布式的高速緩存系統(tǒng), 可以顯著提高網(wǎng)站的訪問(wèn)速度,減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn). MemCache是一套開(kāi)源代碼.可以在GitHub上下載或者在官網(wǎng)上下載.
? MemCache 的工作流程如下:先檢查客戶端的請(qǐng)求數(shù)據(jù)是否在memcached中嫉拐,如有怀骤,直接把請(qǐng)求數(shù)據(jù)返回漩勤,不再對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何操作拳氢;如果請(qǐng)求的數(shù)據(jù)不在memcached中,就去查數(shù)據(jù)庫(kù)凌埂,把從數(shù)據(jù)庫(kù)中獲取的數(shù)據(jù)返回給客戶端驱显,同時(shí)把數(shù)據(jù)緩存一份到memcached中(memcached客戶端不負(fù)責(zé),需要程序明確實(shí)現(xiàn))侨舆;每次更新數(shù)據(jù)庫(kù)的同時(shí)更新memcached中的數(shù)據(jù)秒紧,保證一致性绢陌;當(dāng)分配給memcached內(nèi)存空間用完之后挨下,會(huì)使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略脐湾,失效數(shù)據(jù)首先被替換臭笆,然后再替換掉最近未使用的數(shù)據(jù)
? Memcache是一個(gè)高性能的分布式的內(nèi)存對(duì)象緩存系統(tǒng),通過(guò)在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的hash表秤掌,它能夠用來(lái)存儲(chǔ)各種格式的數(shù)據(jù)愁铺,包括圖像、視頻闻鉴、文件以及數(shù)據(jù)庫(kù)檢索的結(jié)果等茵乱。簡(jiǎn)單的說(shuō)就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取孟岛,從而大大提高讀取速度瓶竭。
? Memcache是danga的一個(gè)項(xiàng)目,最早是LiveJournal 服務(wù)的渠羞,最初為了加速 LiveJournal 訪問(wèn)速度而開(kāi)發(fā)的斤贰,后來(lái)被很多大型的網(wǎng)站采用。
? Memcached是以守護(hù)程序(監(jiān)聽(tīng))方式運(yùn)行于一個(gè)或多個(gè)服務(wù)器中次询,隨時(shí)會(huì)接收客戶端的連接和操作荧恍。
MemCache特性
- 在內(nèi)存足夠下的情況下Memcache中保存的item數(shù)據(jù)量是不受限制的;(Memcache單進(jìn)程在32位系統(tǒng)下最大使用內(nèi)存為2G,64位系統(tǒng)沒(méi)有此限制);
- 最大30天的的數(shù)據(jù)過(guò)期時(shí)間, 由常量REALTIME_MAXDELTA 控制;
- 最大鍵長(zhǎng)為250字節(jié), 由常量KEY_MAX_LENGTH 控制;
- 單個(gè)Item最大的數(shù)據(jù)是1MB, 超過(guò)1MB的數(shù)據(jù)不存儲(chǔ), 由常量 POWER_BLOCK 控制
- 最大的連接數(shù)連接數(shù)是200;
- Memcached是一種無(wú)阻塞的socket通信方式服務(wù),由于無(wú)阻塞通信屯吊,對(duì)內(nèi)存讀寫(xiě)速度非常之快;
- Memcached分服務(wù)器端和客戶端送巡,可以配置多個(gè)服務(wù)器端和客戶端摹菠,應(yīng)用于分布式的服務(wù)非常廣泛;
- Memcached作為小規(guī)模的數(shù)據(jù)分布式平臺(tái)是十分有效果的。
MemCache安裝
將Memcache的安裝包解壓在文件夾后授艰,使用cmd命令進(jìn)行安裝:
1. 開(kāi)始>運(yùn)行:CMD辨嗽;
2. cd (Memcache解壓后的文件夾)
3. memcached -d install
4. memcache -d start(啟動(dòng)memcache服務(wù)器,默認(rèn)分配64M內(nèi)存淮腾,使用11211端口)
目前Memcache服務(wù)器就可以正常使用
注意:必須使用管理員運(yùn)行cmd