老生長談的問題了。我這裏就整理一下。php
memcache的文檔在:http://pecl.php.net/package/memcachehtml
memcached的文檔在:http://pecl.php.net/package/memcached緩存
首先看下時間,memcache最先是在2004年2月開發的,最後更新是在2013年4月,而memcached最先是在2009年1月開發的,最後更新是在2014年1月更新的。因此memcache的歷史比memcached早。安全
在安裝memcache擴展的時候並不要求安裝其餘東東,可是在安裝memcached的時候會要求你安裝libmemcached,問題來了,libmemcached是memcache的C客戶端,它具備的優勢是低內存,線程安全等特色。好比新浪微博以前就全面將php的memcache替換成php的memcached,在高併發下,穩定性果斷提升。服務器
memcache的方法列表在:http://cn2.php.net/memcachesession
memcached的方法列表在:http://www.php.net/manual/zh/book.memcached.php併發
memcache的方法特別少,好比getMulti,setMulti都是沒有的,基本就剩下最簡單的get和set了。因此說「memcached比memcache支持更多的memcache協議」。memcached
而後memcached直接配置了session支持,只要稍微修改下配置文件就能夠把session存儲在memcache中了。高併發
看到下面不少人評論說這個文章沒有用,先略去.能夠不看.學習
寫這個的時候是2011年,轉眼3年過去了. 不少人看了文章以後,進行了評論,批評了我也傷害了我了,寫文章分享,也有誤導,可是不一樣的人看的效果盡然是不一樣的.
因此這個文章先略去先. 我在在這裏強調下如下:
其實關於這2個的區別
首先, 這篇文章講的是 php客戶端上的 2個 memcached 客戶端的區別. 並且如今主要用的都是 Memcached的客戶端擴展.
兩個不一樣版本的php的memcached的客戶端
new memcache是pecl擴展庫版本
new memcached是libmemcached版本
第二, 對於過期的東西,老是會被新東西替代的, 爲何不用新的東西呢?
這篇文章寫的很清楚,程序的原理先理解了,糾結於這個東西叫什麼名字有什麼意義呢? 首先得理解原理吧!
先去看看wiki吧
https://code.google.com/p/memcached/wiki/NewStart
http://www.php.net/manual/en/book.memcached.php
http://www.php.net/manual/en/book.memcache.php
還有說明的是,哥3年前也是小白..............有這麼說小白的麼? 小白說小白.......嗨......
------------------------------------------------- 分割線 -------------------------------------------------------------------------------
用了段時間的memcache和memcached總結下認識,看不少人在用cache的時候,剛剛都沒有搞清楚memcache和 memcached的區別,還有就是使用的時候基本都是 get/set 用了memcached以後其實能夠發現getMulti/setMulti 是多麼好用,這篇寫個那些剛剛使用memcache緩存的新人,老鳥請略過。
關於memcached就不用多說了,就是a distributed memory object caching system 。既然是一個用來存東西的系統,那麼必定要有個存放的地方吧,咱們就叫它服務器端吧,而後誰把東西存放在上面就叫它客戶端吧,那怎麼放呢,確定是 客戶端 -- 鏈接服務器端 -- 把東西發送給服務器端 -- 實現了東西的存放麼,要去取的時候也是同樣的,先鏈接,在取東西回來了。全部就有了memcached的服務器端,安裝請見 http://www.cnblogs.com/scotoma/archive/2010/05/27/1745011.html 這個是WIN下的,*unix下的請到 http://memcached.org/ 去下載而後編譯安裝了,這裏我就很少說安裝的配置了,網上已經有不少了。
安裝完成後看下本身的進程裏面memcached的服務是否在跑着的? 好了進程在跑着呢,那就看看客戶端吧
我是作PHP開發的,全部就安裝了PHP的客戶端擴展,有memcache和memcached擴展2種,安裝我也不說了本身去動手,安裝完成後查看phpinfo會發現以下頁面就說明你的擴展安裝成功了,若是不成功請本身檢查php.ini裏面的配置是否正確
服務器端和客戶端都弄好了看看示例代碼能夠跑起來的麼,如圖
結果如圖:
都跑起來了,看看memcache和memcached的使用的區別,那就好好的翻看下PHP手冊吧,其實手冊是最好的東西了
memcache擴展的方法
memcached擴展的方法
完成了,其實2個能夠理解成2個擴展歷史緣由也不想多說了,就是儘可能使用memcached就行了,不過也會出現一些很奇怪的Bug,好比使用memcached擴展的適合設置的session(session存放到memcached中,使用的是memcached擴展存放的就會發現不會過時)。
在實踐中用了以後纔會知道什麼和什麼的,動手是最好的學習方式.
參考文章:
http://www.ttlsa.com/memcache/memcache-and-memcached-php-php-and-problems/
http://www.cnblogs.com/scotoma/archive/2011/02/15/1955573.html