基于動態(tài)內(nèi)容的各種緩存,,基本上都是基于頁面緩存或局部動態(tài)內(nèi)容的緩存,。 頁面緩存只提高了讀數(shù)據(jù)的速度,并沒有提高寫數(shù)據(jù)的速度,。 文件系統(tǒng)內(nèi)核緩沖區(qū)成為頁高速緩存,,包括讀緩存區(qū)和寫緩存區(qū)。 memcached: memcached是由Danga Interactive開發(fā)的,,高性能的,,分布式的內(nèi)存對象緩存系統(tǒng),用于在動態(tài)應(yīng)用中減少數(shù)據(jù)庫負(fù)載,,提升訪問速度,。 memcached使用物理內(nèi)存作為緩存區(qū),可獨立運行在服務(wù)器上,。 memcached使用key-value的方式來存儲數(shù)據(jù),,這是一種單索引的結(jié)構(gòu)化數(shù)據(jù)組織形式,可使數(shù)據(jù)項查詢時間復(fù)雜度為O(1),。 緩存區(qū)空間有限時,,memcached會使用LRU算法淘汰一些數(shù)據(jù)項。 memcached使用libevent函數(shù)庫實現(xiàn)網(wǎng)絡(luò)并發(fā)模型(如epoll),,所以它能支持較大并發(fā)用戶數(shù)的訪問,。 memcached可以緩存用戶狀態(tài)(序列化的對象)。 memcached提供了一個協(xié)議,,我們可以得到它的實時狀態(tài),,從而對它進行監(jiān)控。 緩存擴展: 站點足夠大時,需要擴展memcached的規(guī)模,,包括并發(fā)處理能力和緩存空間容量等,。 memcached在并發(fā)處理能力上很得心應(yīng)手,這就需要增加新的緩存服務(wù)器進行擴展,。當(dāng)存在多臺緩存服務(wù)器后,就需要解決如何將緩存數(shù)據(jù)均衡地分布在多臺緩存服務(wù)器上,。 |
|