一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Memcached深度分析

Memcached是danga.com(運營LiveJournal的技術團隊)開發的一套分布式內存對象緩存系統,用于在動態系統中減少數據庫負載,提升性能。關于這個東西,相信很多人都用過,本文意在通過對memcached的實現及代碼分析,獲得對這個出色的開源軟件更深入的了解,并可以根據我們的需要對其進行更進一步的優化。末了將通過對BSM_Memcache擴展的分析,加深對memcached的使用方式理解。

本文的部分內容可能需要比較好的數學基礎作為輔助。

◎Memcached是什么

在闡述這個問題之前,我們首先要清楚它“不是什么”。很多人把它當作和SharedMemory那種形式的存儲載體來使用,雖然memcached使用了同樣的“Key=>Value”方式組織數據,但是它和共享內存、APC等本地緩存有非常大的區別。Memcached是分布式的,也就是說它不是本地的。它基于網絡連接(當然它也可以使用localhost)方式完成服務,本身它是一個獨立于應用的程序或守護進程(Daemon方式)。

Memcached使用libevent庫實現網絡連接服務,理論上可以處理無限多的連接,但是它和Apache不同,它更多的時候是面向穩定的持續連接的,所以它實際的并發能力是有限制的。在保守情況下memcached的最大同時連接數為200,這和Linux線程能力有關系,這個數值是可以調整的。關于libevent可以參考相關文檔。Memcached內存使用方式也和APC不同。APC是基于共享內存和MMAP的,memcachd有自己的內存分配算法和管理方式,它和共享內存沒有關系,也沒有共享內存的限制,通常情況下,每個memcached進程可以管理2GB的內存空間,如果需要更多的空間,可以增加進程數。

◎Memcached適合什么場合

在很多時候,memcached都被濫用了,這當然少不了對它的抱怨。我經常在論壇上看見有人發貼,類似于“如何提高效率”,回復是“用memcached”,至于怎么用,用在哪里,用來干什么一句沒有。memcached不是萬能的,它也不是適用在所有場合。

Memcached是“分布式”的內存對象緩存系統,那么就是說,那些不需要“分布”的,不需要共享的,或者干脆規模小到只有一臺服務器應用,memcached不會帶來任何好處,相反還會拖慢系統效率,因為網絡連接同樣需要資源,即使是UNIX本地連接也一樣。在我之前的測試數據中顯示,memcached本地讀寫速度要比直接php內存數組慢幾十倍,而APC、共享內存方式都和直接數組差不多。可見,如果只是本地級緩存,使用memcached是非常不劃算的。

Memcached在很多時候都是作為數據庫前端cache使用的。因為它比數據庫少了很多SQL解析、磁盤操作等開銷,而且它是使用內存來管理數據的,所以它可以提供比直接讀取數據庫更好的性能,在大型系統中,訪問同樣的數據是很頻繁的,memcached可以大大降低數據庫壓力,使系統執行效率提升。另外,memcached也經常作為服務器之間數據共享的存儲媒介,例如在SSO系統中保存系統單點登陸狀態的數據就可以保存在memcached中,被多個應用共享。

需要注意的是,memcached使用內存管理數據,所以它是易失的,當服務器重啟,或者memcached進程中止,數據便會丟失,所以memcached不能用來持久保存數據。很多人的錯誤理解,memcached的性能非常好,好到了內存和硬盤的對比程度,其實memcached使用內存并不會得到成百上千的讀寫速度提高,它的實際瓶頸在于網絡連接,它和使用磁盤的數據庫系統相比,好處在于它本身非常“輕”,因為沒有過多的開銷和直接的讀寫方式,它可以輕松應付非常大的數據交換量,所以經常會出現兩條千兆網絡帶寬都滿負荷了,memcached進程本身并不占用多少CPU資源的情況。

◎Memcached的工作方式

以下的部分中,讀者最好能準備一份memcached的源代碼。

Memcached是傳統的網絡服務程序,如果啟動的時候使用了-d參數,它會以守護進程的方式執行。創建守護進程由daemon.c完成,這個程序只有一個daemon函數,這個函數很簡單(如無特殊說明,代碼以1.2.1為準):

CODE:

NET技術Memcached深度分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久91亚洲精品中文字幕 | 久久永久免费视频 | 中文字幕一区二区三区在线观看 | 狼人久久尹人香蕉尹人 | 国产在线播放一区 | 水中色av综合| 精品国产一区二区二三区在线观看 | 精品日本亚洲一区二区三区 | 亚洲黄色在线观看视频 | 美女又美女又黄又免费网站 | 久久久久中文字幕 | 91精品国产高清久久久久久91 | 亚洲国产视频网站 | 国产精品视频免费观看 | 成人小视频在线免费观看 | 免费大学生国产在线观看p 免费的成人a视频在线观看 | 最近最新中文字幕在线第一页 | 中国一级特黄真人毛片免费看 | 欧美日韩中文亚洲另类春色 | 欧美一卡2卡三卡四卡五卡 欧美一欧美一区二三区性 欧美一区a | 色小妹综合 | 精品国产自在现线看久久 | 黄色免费在线观看视频 | 怡红院亚洲红怡院天堂麻豆 | 国产乱子伦手机在线 | 亚洲一区二区三区网站 | 亚洲欧美一区二区三区国产精品 | 激情图片激情小说 | 一区在线看 | 国内精品哆啪啪 | 亚洲天堂久久精品 | 91亚洲欧美综合高清在线 | 美女让男人插 | 狠狠做深爱婷婷久久一区 | 国产成人亚洲欧美激情 | 国产一区二区三区不卡观 | 久久噜噜久久久精品66 | 香蕉碰碰人人a久久动漫精品 | 精品99久久 | 中文字幕在线视频网 | 欧美激情 亚洲 |