memcached是什么

memcached是一套分布式的高速緩存系統(tǒng),由LiveJournal的Brad Fitzpatrick開發(fā),但被許多網(wǎng)站使用。這是一套開放源代碼軟件,以BSD license授權(quán)發(fā)布。

memcached缺乏認(rèn)證以及安全管制,這代表應(yīng)該將memcached服務(wù)器放置在防火墻后。

memcached的API使用三十二比特的循環(huán)冗余校驗(yàn)(CRC-32)計(jì)算鍵值后,將數(shù)據(jù)分散在不同的機(jī)器上。當(dāng)表格滿了以后,接下來(lái)新增的數(shù)據(jù)會(huì)以LRU機(jī)制替換掉。由于memcached通常只是當(dāng)作緩存系統(tǒng)使用,所以使用memcached的應(yīng)用程序在寫回較慢的系統(tǒng)時(shí)(像是后端的 數(shù)據(jù)庫(kù) )需要額外的代碼更新memcached內(nèi)的數(shù)據(jù)。

memcached是一套分布式的快取系統(tǒng),與 redis 相似,當(dāng)初是Danga Interactive為了LiveJournal所發(fā)展的,但被許多軟件(如MediaWiki)所使用。這是一套開放源代碼軟件,以BSD license授權(quán)協(xié)議發(fā)布。

memcached缺乏認(rèn)證以及安全管制,這代表應(yīng)該將memcached服務(wù)器放置在防火墻后。

memcached的API使用32位元的循環(huán)冗余校驗(yàn)(CRC-32)計(jì)算鍵值后,將資料分散在不同的機(jī)器上。當(dāng)表格滿了以后,接下來(lái)新增的資料會(huì)以LRU機(jī)制替換掉。由于memcached通常只是當(dāng)作快取系統(tǒng)使用,所以使用memcached的應(yīng)用程式在寫回較慢的系統(tǒng)時(shí)(像是后端的數(shù)據(jù)庫(kù))需要額外的程式碼更新memcached內(nèi)的資料

memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric為首開發(fā)的一款軟件。已成為mixi、hatena、Facebook、Vox、LiveJournal等眾多服務(wù)中提高Web應(yīng)用擴(kuò)展性的重要因素。許多Web應(yīng)用都將數(shù)據(jù)保存到RDBMS中,應(yīng)用服務(wù)器從中讀取數(shù)據(jù)并在瀏覽器中顯示。但隨著數(shù)據(jù)量的增大、訪問(wèn)的集中,就會(huì)出現(xiàn)RDBMS的負(fù)擔(dān)加重、數(shù)據(jù)庫(kù)響應(yīng)惡化、網(wǎng)站顯示延遲等重大影響。

這時(shí)就該memcached大顯身手了。memcached是高性能的分布式內(nèi)存緩存服務(wù)器。一般的使用目的是,通過(guò)緩存數(shù)據(jù)庫(kù)查詢結(jié)果,減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù),以提高動(dòng)態(tài)Web應(yīng)用的速度、提高可擴(kuò)展性。

Memcached的守護(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開發(fā),其最新版本發(fā)布于20 0年,作者為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)。

下載地址:https://repo.huaweicloud.com/memcached/