Memcached應用研究 Memcached應用研究

Memcached應用研究

  • 期刊名字:科技廣場(chǎng)
  • 文件大?。?56kb
  • 論文作者:徐劍強,鄒偉平
  • 作者單位:南昌大學(xué)
  • 更新時(shí)間:2020-06-12
  • 下載次數:次
論文簡(jiǎn)介

Memcached應用研究Application Research of Memcached應用研究徐劍強鄒偉平Xu Jianqiang Zou Weiping(南昌大學(xué),江西南昌330031)( Nanchang University, Jiangxi Nanchang 330031摘要: Memcached作為目前最杰出的內存緩存技術(shù),應用越來(lái)越多。本文從 Memcached產(chǎn)生的背景出發(fā),闡述了它在髙負載動(dòng)態(tài)網(wǎng)站減輕數據庫負擔的原理及其應用場(chǎng)景,并對 Memcached進(jìn)行了簡(jiǎn)單的應用測試,分析了 Memcached的內存管理方式相對于傳統內存管理的優(yōu)點(diǎn)。關(guān)鍵詞: Memcached;內存緩存系統;Web查詢(xún)中圖分類(lèi)號:TP391文獻標識碼:A文章編號:1671-4792(2012)07-009503Abrstract: As the most contiguous memory cache technique, Memcached is used more and more currentlyFrom the generated background of Memcached, this paper describes the principle of reducing the burden ofdatabase when it's in high load dynamic website and application scene, and a simple application testing of Memcached is made. Then the paper analyzes the advantages of Memcached memory management mode comparedwith traditional memory managementKeywords: Memcached; Memory Cache System; Web Inquiry0引言danga con(運營(yíng) LiveJournal I的技能團隊)開(kāi)發(fā)的隨著(zhù)社會(huì )的進(jìn)步和信息化技術(shù)的不斷發(fā)展,網(wǎng)套分布式內存對象緩存系統,用于在動(dòng)態(tài)系統中減絡(luò )用戶(hù)日益增加,人們利用信息化手段來(lái)完成的工少數據庫負載,提升性能。作與日俱增,這就使得一些大型的Web應用程序并1 Memcached應用發(fā)訪(fǎng)問(wèn)量也急劇增加??旃澴嗟默F代生活要求我們Memcached是一個(gè)高性能的分布式內存對象的應用系統能夠提供實(shí)時(shí)性、準確性和高性能的服緩存系統,用于動(dòng)態(tài)Web應用,以減輕數據庫負載。務(wù),所以人們想了很多方法來(lái)提高Web的響應速它通過(guò)在內存中緩存數據和對象來(lái)減少讀取數據庫率,一般的做法有優(yōu)化數據庫、提高硬件的性能、增的次數,從而提高動(dòng)態(tài)、數據庫驅動(dòng)網(wǎng)站的速度。它大帶寬等。當這些方法還不能完全解決問(wèn)題時(shí),內存基于網(wǎng)絡(luò )連接(當然它也可以運用 Localhost)方式緩存技術(shù)是一個(gè)不錯的選擇。隨著(zhù)內存成本的不斷完成服務(wù),它是一個(gè)獨立使用的程序或守護進(jìn)程下降,使得這個(gè)選擇更容易讓人接受( Daemon方式)。 Memcached運用 Libevent庫實(shí)現內存緩存的出現是基于操作系統中的一個(gè)經(jīng)典網(wǎng)絡(luò )連接服務(wù),理論上可以處理無(wú)限多的連接,但是理論“在80%的時(shí)間里用到的數據只有20%”。所以它和 Apache不同,它更多的時(shí)候是面向穩定的持只要把這少部分的數據放到內存,那么應用程序就續連接的所以它實(shí)際的并發(fā)能力是有限定的。在保直接和內存交換數據,可以使得訪(fǎng)問(wèn)速度提高數個(gè)守情況下, Memcached i的大同時(shí)連接數為20,這數量級。和 Linux線(xiàn)程能力中國煤化工以調整Memcached是目前杰出的內存緩存技術(shù),它是的。 Memcached FCNMHG不同。APC是基于共享內存和MMAP的, Memcache有自echo"n"str pad (Read datas from MySQL. 60己的內存分配算法和管理方式,它和共享內存沒(méi)有聯(lián)系,也沒(méi)有共享內存的限定。通常情況下,每個(gè)Sconnnect-mysql connect(localhost, 'root, ) /Memcached進(jìn)程可以管理2GB的內存空間。如果連接到mysq需要更多的空間,可以添加進(jìn)程數。mysql select db(test;∥/選擇數據庫Memcached僅適用于“分布式”的內存對象緩Result= mysql query($sql);∥/執行查詢(xún)存系統,也就是說(shuō),對于那些不需要“分布”的,不需while(Srow =mysql fetch row(Sresult)要共享的,或者說(shuō)規模小到只有一臺服務(wù)器的使用,Sdatas[]= Row;Memcached不會(huì )帶來(lái)任何優(yōu)點(diǎn),相反還會(huì )降低系統∥將數據庫中獲取到的結果集數據保存到效率。因為網(wǎng)絡(luò )連接同樣需要資源,即使是UNX本 memcached中,以供下次訪(fǎng)問(wèn)時(shí)使用。地連接也一樣,所以,如果只是本地級緩存,運用Smc->add(skey, Datas);Memcached是非常不劃算的。3 elseMemcached的工作方式是:當用戶(hù)第一次調用echo"n"str pad (Read datas from memcached程序時(shí),首先查看 Memcached中是否有所需要的數60,)."n";據,如果有直接調用,如果沒(méi)有則從數據庫訪(fǎng)問(wèn),并}同時(shí)寫(xiě)入 Memcached之中,以備日后調用。它的var dump( Datas);∥/輸出讀取的數據般工作方式可以用圖一來(lái)表示2 Memcached的鏈接和測試客戶(hù)端連接 Memcached和對已寫(xiě)入Mercached的數據的簡(jiǎn)單操作代碼如下∥連接Smem test= new Memcache.S mem test ->connect("localhost", 11211)S mem test ->set (keyl, This is first value, 0,第一次取數據60);∥/保存數據Sval=$ mem test-get(key 1);echo"Get keyl value: Sval.
replace(keyl This is replace val代碼實(shí)現如下ue,0,60);∥替換數據Sval=S mem test->get(key 1 );Ssql='SELECT FROM test tabkey=" mykey";/ memcached對象標識符S mem test-> delete(keyl);∥刪除數據Sval=S mem test->get(keyl,)mc test-> connect(127.0.0.,1121);∥/連接echo"Get keyl value: " Sval "
memcached的服務(wù)器S mem test→>ushO;∥/清除所有數據if ( ( Datas= S mc test->get(Skey)))&S mem test-> closed;關(guān)閉連接∥在 memcached中未獲取到緩存數據,則使用中國煤化工數據庫査詢(xún)獲取記錄集。3 MemcCNMHGMemH存管理方式有個(gè)很有特色的內存管理方式。為了提升效率,它運輔復制機制,讓 Memcached具備了事務(wù)恢復能力、用預申請以及分組的方式來(lái)管理內存空問(wèn),從而不持久化能力和分布式復制能力,非常適合于需要超需要每次寫(xiě)入數據的時(shí)候去 malloc,刪除數據的時(shí)高性能讀寫(xiě)速度,但是不需要嚴格事務(wù)約束,能夠被候fe-個(gè)指針。 Memcached采用一種名為Sla持久化保存的應用場(chǎng)景,例如 Memcachedb被應用8bAllocatoion I的機制分配管理內存。它的基本原理在新浪博客上面。 Memcachedb給 Memcached添s是按照預先規定的大小將分配的內存分割成特定加了一些數據庫才具備的特性,但是我們還不能說(shuō)長(cháng)度的塊。采用這種方式管理內存可以很好地避 Memcachedb已經(jīng)是一個(gè)數據庫了。這是因為免內存碎片的問(wèn)題。 Memcached能夠申請的最小的 Memcached不支持內存對象的遍歷操作,當然更加用內存大小為一個(gè)b它的默認大小為M。sb是不能支持復雜的查詢(xún)操作,只能支持根據已知的究個(gè)內存塊,是 Memcached一次申請內存的最小單key去查詢(xún)對應的 value。因此如果想把Mem位。在啟動(dòng) Memcached的時(shí)候可以使用參數-m指 cached當成一個(gè)高性能的分布式內存數據庫來(lái)使定其可用內存,但是并不是在啟動(dòng)的那一刻所有的用的話(huà),查詢(xún)的問(wèn)題就沒(méi)有辦法解決,只能在應用程內存就全部分配出去了。只有在需要的時(shí)候才會(huì )去序里面配合其他方案作一些折中。然而Mem申請,而且每次申請一定是一個(gè) slabo slab的大小固 cached的另外一個(gè)開(kāi)源項目完美地填補了這一個(gè)定為M(1048576Bye),一個(gè)slab由若干個(gè)大小相缺陷就是 Memcache engine等的chun組成。每個(gè) chunk中都保存了一個(gè)item結構體和一對key和 value。假定i代表分類(lèi), class i參考文獻的計算公式如下[l]奧) Michael Kofler,著(zhù)楊曉云,等譯 MySQL5hunk size(dasi- default sizetitem size)*P權威指南(第3版北京:人民郵電出版社,2006HCHUNK ALIGN BYTES[2]MySQL主頁(yè)Eb/oL].httP://www.mysqlorgdefault size:默認大小為48字節,也就是mem[3]張堯學(xué),史美林計算機操作系統教程[M北cached默認的key+ value的大小為48字節,可以通京:清華大學(xué)出版社,2003過(guò)-n參數來(lái)調節其大小[4]楊立身,曹志文內存緩存技術(shù)在門(mén)戶(hù)網(wǎng)站開(kāi)Item size:item結構體的長(cháng)度,固定為32字節。發(fā)中的應用研究電腦知識與技術(shù):學(xué)術(shù)交流,fault size大小為48字節, Item size為32,因此2008,(09):1415-1416class 1的 chunk大小為48+32-80字節;f為 factor[5]Memcached主頁(yè)[EBOL]htp:/danga.com是 chunk變化大小的因素,默認值為1.25,調節f可 Memcached以影響 chunk的步進(jìn)大小,在啟動(dòng)時(shí)可以使用f來(lái)[6]Ross A Security Engineering: A Guide to指定; CHUNK ALIGN BYTES是一個(gè)修正值,用來(lái) Building Dependable Distributed Systems.John Wi-保證 chunk的大小是某個(gè)值的整數倍(在32位機器ley& Sons ISBN0471-389226,2001上要求 chunk的大小是4的整數倍)。[7]Matt Blaze. 2002 September 15(Preprint, re-從上面的分析可以看到,我們實(shí)際可以調節的 vised2003 March02). Cryptology and Physical Securi參數有fn。在 Memcached的實(shí)際運行中我們還 ty: Rights Amplification in Master-Keyed Mechanical需要觀(guān)察我們的數據特征,合理地調節f、n的值使 Locks IEEE Security and Privacy (March/April2003)我們的內存得到充分的利用減少浪費。同時(shí),這種[8]Computer Emergency Response Team/Coordi方式避免了與Os的頻繁交互,大大提升了效率。 nation Center,200 CERT/CC Vulnerability Metric4結束語(yǔ)因為 Memcached的數據是緩存在內存中的,所作者簡(jiǎn)介以當發(fā)生系統掉電或者重啟的時(shí)候,這些數據很可徐劍強(1986),男,江西豐城人,主要研究方能會(huì )丟失。開(kāi)發(fā)人員很早認識到這點(diǎn),所以開(kāi)發(fā)出向:高校信息化;了 Memcachedb。它是一個(gè)由新浪網(wǎng)的開(kāi)發(fā)人員開(kāi)鄒偉平(1987中國煤化工大學(xué)網(wǎng)發(fā)出來(lái)的開(kāi)源項目,給 Memcached分布式緩存服務(wù)絡(luò )中心,主要研究YHCNMHG器添加了 Berkeley DB的持久化存儲機制和異步主97

論文截圖
上一條:MSAN及其應用
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院