準備工做php
把php_memcache.dll文件拷貝到php的ext下。apache
特別說明:不一樣版本php所用的php_memcache.dll版本不一樣。json
修改php.ini文件,加載php_memcache.dll(這個文件其實就是加載了一大堆的函數)數組
重啓apache函數
php實際操做code
$mem = new Memcache(); //實例化對象對象
$mem = connect('127.0.0.1',11211);資源
$mem -> add(鍵,值,是否壓縮,生存時間);字符串
$mem -> set(同上); //鍵若是存在就修改,不存在就添加序列化
memcache能夠保存字符串和數組、數字、對象
保存對象的時候會產生一個問題:在另一個文件中取出對象的時候,有一個須要注意的地方。對應php5.2這個版本會提示錯誤,對php5.3這個版本會提示incomplete信息。這個錯誤和保存在$_SESSION中是同樣的,解決方法也同樣。
解決方法:在當前腳本在從新聲明類定義(把類也拿過去)
添加 null 取出 null
添加 false 取出 ‘’
修改 $mem->replace(同添加);
刪除 $mem->delete(鍵);
所有沖掉 flush
注意細節:在添加數據時,若是把expire(超時)設爲0,表示永不過時。expire直接給秒數,則最大隻能是30天,即30*3600*24.若是你但願保持時間超過30天,用時間戳表示,即 time()+天數*3600*24 。
放入資源,卻出0,因此資源是不支持的。(注意)
在添加數組時,能夠根據須要,進行序列化 serializa() 能夠把對象和數組保存在磁盤中。
相對應的還有json化,也是一樣能夠變成字符串。區別在於:serializa()能夠把數據的類型和大小一些信息一樣的保存下來,主要用於數據的儲存。json_encode()不保存數據類型等信息,主要是方便數據的傳輸。