作為一名PHPer新手,在求職或解決網(wǎng)站服務(wù)器負(fù)載的時(shí)候總避免不了和緩存技術(shù)打交道,閑來無事,就決定先研究研究memcached。
查閱相關(guān)資料時(shí)發(fā)現(xiàn)這玩意還有兩個(gè)東西,memcache和memcached,我有點(diǎn)慌了,不帶這樣折騰人的,最討厭這樣模棱兩可似是而非稀里糊涂的感覺。沒辦法,只好先去百度這兩個(gè)家伙到底是怎么一回事了。關(guān)于這兩者的關(guān)系呢我參考了這篇博客的描述,感覺講的還是不錯(cuò)的,直接上地址memcache和memcached區(qū)別。
下面我就根據(jù)我的理解總結(jié)下這兩者的關(guān)系吧。
memcache
百度百科解釋,memcache是一個(gè)高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的hash表,它能夠用來存儲各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結(jié)果等。簡單的說就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。memcache是danga的一個(gè)項(xiàng)目,最早是LiveJournal 服務(wù)的,最初為了加速 LiveJournal 訪問速度而開發(fā)的,后來被很多大型的網(wǎng)站采用。
也就是說,memcache是一個(gè)為了加速網(wǎng)站訪問和降低數(shù)據(jù)庫負(fù)載的、基于內(nèi)存的緩存系統(tǒng),而這個(gè)緩存系統(tǒng)名字就叫做memcache,沒錯(cuò),就是這樣。
memcached
百度百科解釋,Memcached是以守護(hù)程序(監(jiān)聽)方式運(yùn)行于一個(gè)或多個(gè)服務(wù)器中,隨時(shí)會接收客戶端的連接和操作。
既然memcache是這個(gè)danga的一個(gè)項(xiàng)目的名稱或者是這個(gè)緩存系統(tǒng)的名稱,那么memcached就是這個(gè)系統(tǒng)服務(wù)的守護(hù)進(jìn)程的一個(gè)叫法、一個(gè)名稱。當(dāng)你安裝了memcache后運(yùn)行的memcache服務(wù)名稱叫做memcached。
PHP的memcache客戶端
我們看PHP的手冊其實(shí)可以發(fā)現(xiàn)memcache和memcached都存在,只不過memcached方法更多,然后網(wǎng)友們都說memcached更強(qiáng)大,推薦使用memcached。而關(guān)于PHP的兩個(gè)memcache客戶端呢我們可以通過這篇文章來幫助我們理解——php_memcache與php_memcached擴(kuò)展的區(qū)別。