小螞蟻學memcache筆記—php操做memcache(2)

準備工做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()不保存數據類型等信息,主要是方便數據的傳輸。

相關文章
相關標籤/搜索