咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

介紹:集中式緩存系統Memcached

發表日期:2013-05-15    文章編輯:西西    浏覽次數(shù):15    标簽:

www.zjcoo.com

   我們首先要搞清楚Memcached是什麽?

  memcached是一套分布式的快取系統,當初是Danga Interactive為(wèi)了LiveJournal所發展的,但(dàn)目前被許多(duō)軟件(如MediaWiki)所使用。這是一套開(kāi)放源代碼軟件,以BSD license授權釋出。

  memcached缺乏認證以及安全管制(zhì),這代表應該将memcached服務器(qì)放置在防火(huǒ)牆後。

  memcached的API使用三十二位元的循環冗餘校(xiào)驗(CRC-32)計(jì)算(suàn)鍵值後,将資料分散在不同的機器(qì)上(shàng)。當表格滿了以後,接下來(lái)新增的資料會(huì)以LRU機制(zhì)替換掉。由于memcached通(tōng)常隻是當作(zuò)快取系統使用,所以使用memcached的應用程式在寫回較慢的系統時(shí)(像是後端的數(shù)據庫)需要額外的程式碼更新memcached內(nèi)的資料。

  Memcached适合什麽場(chǎng)合?

  我們要知道(dào)memcached不是萬能的,它也不是适用所有(yǒu)場(chǎng)合。所以就會(huì)有(yǒu)許多(duō)人(rén)對它進行(xíng)濫用,而遭到了很(hěn)多(duō)人(rén)的質疑,認為(wèi)它根本就不符合緩存系統的條件。

  Memcached 是“分布式”的內(nèi)存對象緩存系統,那(nà)麽就是說,那(nà)些(xiē)不需要“分布”的,不需要共享的,或者幹脆規模小(xiǎo)到隻有(yǒu)一台服務器(qì)的應用,memcached不會(huì)帶來(lái) 任何好處,相反還(hái)會(huì)拖慢系統效率,因為(wèi)網絡連接同樣需要資源,即使是UNIX本地連接也一樣。 在我之前的測試數(shù)據中顯示,memcached本地讀寫速度要比直接PHP內(nèi)存數(shù)組慢幾十倍,而APC、共享內(nèi)存方式都和(hé)直接數(shù)組差不多(duō)。可(kě)見,如果隻是 本地級緩存,使用memcached是非常不劃算(suàn)的。

  Memcached在很(hěn)多(duō)時(shí)候都是作(zuò)為(wèi)數(shù)據庫前端cache使用的。因為(wèi)它比數(shù)據庫少(shǎo) 了很(hěn)多(duō)SQL解析、磁盤操作(zuò)等開(kāi)銷,而且它是使用內(nèi)存來(lái)管理(lǐ)數(shù)據的,所以它可(kě)以提供比直接讀取數(shù)據庫更好的性能,在大(dà)型系統中,訪問同樣的數(shù)據是很(hěn)頻繁 的,memcached可(kě)以大(dà)大(dà)降低(dī)數(shù)據庫壓力,使系統執行(xíng)效率提升。另外,memcached也經常作(zuò)為(wèi)服務器(qì)之間(jiān)數(shù)據共享的存儲媒介,例如在SSO系 統中保存系統單點登陸狀态的數(shù)據就可(kě)以保存在memcached中,被多(duō)個(gè)應用共享。

  需要注意的是,memcached是使用內(nèi)存來(lái)管理(lǐ)數(shù)據的,所以它是易失的,當服務器(qì)重啓,或者memcached進程中止,數(shù)據便會(huì)丢失,所以memcached不能用來(lái)持久保存數(shù)據。很(hěn)多(duō)人(rén)的錯誤理(lǐ) 解,memcached的性能非常好,好到了內(nèi)存和(hé)硬盤的對比程度,其實memcached使用內(nèi)存并不會(huì)得(de)到成百上(shàng)千的讀寫速度提高(gāo),它的實際瓶頸在于 網絡連接,它和(hé)使用磁盤的數(shù)據庫系統相比,好處在于它本身非常“輕”,因為(wèi)沒有(yǒu)過多(duō)的開(kāi)銷和(hé)直接的讀寫方式,它可(kě)以輕松應付非常大(dà)的數(shù)據交換量,所以經常 會(huì)出現兩條千兆網絡帶寬都滿負荷了,memcached進程本身并不占用多(duō)少(shǎo)CPU資源的情況。

  經過這篇文章以後,中技(jì)衷心的希望大(dà)家(jiā)可(kě)以不要再對Memcached有(yǒu)偏見,它其實是一個(gè)很(hěn)好的緩存系統,但(dàn)是由于被濫用了而導緻很(hěn)多(duō)人(rén)對它産生(shēng)了懷疑,希望大(dà)家(jiā)從以上(shàng)內(nèi)容就可(kě)以從中知道(dào)Memcached這個(gè)緩存系統能發揮最大(dà)作(zuò)用的地方在哪裏。

重慶中技互聯網信息咨詢有限公司 www.zjcoo.com

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博