一、Memcached和Memcache的區別:
網上關于Memcached和Memcache的區別的理解眾說紛紜,我個人的理解是:Memcached是一個內存緩存系統,而Memcache是php的一個擴展,是php用于操作和管理Memcached的工具。如果安裝了Memcached但沒有安裝Memcache,php無法操控Memcached,但是可以使用命令行來操控Memcached;如果安裝了Memcache卻沒安裝Memcached,則無法使用。只有同時安裝了Memcached和Memcache,才能在PHP中使用Memcached。
二、安裝memcached: 1.由于memcached比較小,所以解壓開就可以使用.
2.解壓完后為了方便在命令行里進行操作,我們將其加入環境變量當中. 
3.測試是否安裝成功: 打開cmd,進入memcached解壓后存放的目錄,運行命令: memcached -h,若安裝成功,會出現如下界面: 
4.啟動memcached: Memcached客戶端與服務器端的通信比較簡單,使用的基于廣西的協議,而不是二進制協議.(http協議也是這樣),因為此勻通過telnet即可與memcached作交互. 打開命令行 打開telnet 命令格式:telnet host 端口
telnet 127.0.0.1 11211 
三、練習 1.Memcached的命令 分增刪改查4類,沿著這個思路來學習. 語法:add key flag expire length key 給值起一個獨特的名字 flag 標志,要求為一個正整數 expire 有效期 length 緩存的長度(字節為單位)
flag 的意義: memcached 基本文本協議,傳輸的東西,理解成字符串來存儲. 想:讓你存一個 php 對象,和一個 php 數組,怎么辦? 答:序列化成字符串,往出取的時候,自然還要反序列化成 對象/數組/json 格式等等. 這時候, flag 的意義就體現出來了. 比如, 1 就是字符串, 2 反轉成數組 3,反序列化對象…..
expire 的意義: 設置緩存的有效期,有 3 種格式 1:設置秒數, 從設定開始數,第 n 秒后失效. 2:時間戳, 到指定的時間戳后失效. 比如在團購網站,緩存的某團到中午 12:00 失效. add key 0 1379209999 6 3: 設為 0. 不自動失效. 注: 有種誤會,設為 0,永久有效.錯誤的. 1:編譯 memcached 時,指定一個最長常量,默認是 30 天. 所以,即使設為 0,30 天后也會失效. 2:可能等不到 30 天,就會被新數據擠出去.
? delete 刪除 delete key [time seconds] 刪除指定的 key. 如加可選參數 time,則指刪除 key,并在刪除 key 后的 time 秒內,不允許 get,add,replace 操作此 key. ? replace 替換 replace key flag expire length 參數和 add 完全一樣,不單獨寫 ? get 查詢 get key 返回 key 的值 ? set 是設置和修改值 參數和 add ,replace 一樣,但功能不一樣. 如下比較: 用 add 時, key 不存在,才能建立此鍵值. 但對于已經存在的鍵,可以用 replace 進行替換/更改 repalce,key 存在時,才能修改此鍵值,如上圖,date 不存在,則沒改成功. 而 set 想當于有 add replace 兩者的功能. set key flag expire leng 時 如果服務器無此鍵 —-> 增加的效果 如果服務器有此鍵 —-> 修改的效果. 如下圖的演示,該圖中,name 是已經存在,而 date 原本不存在. set 都可以成功設置他們.
新聞熱點
疑難解答