當前位置:
首頁 > 知識 > 使用PHP簡單操作Memcached

使用PHP簡單操作Memcached

基本函數:

Memcache — Memcache類

Memcache::add — 增加一個條目到緩存伺服器

Memcache::addServer — 向連接池中添加一個memcache伺服器

Memcache::close — 關閉memcache連接

Memcache::connect — 打開一個memcached服務端連接

Memcache::decrement — 減小key的值

Memcache::delete — 從服務端刪除一個key

Memcache::flush — 清洗(刪除)已經存儲的所有的key

Memcache::get — 從服務端檢回一個key

Memcache::getExtendedStats — 緩存伺服器池中所有伺服器統計信息

Memcache::getServerStatus — 用於獲取一個伺服器的在線/離線狀態

Memcache::getStats — 獲取伺服器統計信息

Memcache::getVersion — 返回伺服器版本信息

Memcache::increment — 增加一個key的值

Memcache::pconnect — 打開一個到伺服器的持久化連接

Memcache::replace — 替換已經存在的key的值

Memcache::set — 儲存值,沒有會新增一個key,已經存在的key直接替換

Memcache::setCompressThreshold — 開啟大值自動壓縮

Memcache::setServerParams — 運行時修改伺服器參數和狀態

Memcache 函數

memcache_debug — 轉換調試輸出的開/關

Memcache模塊同時提供了一個session 處理器 :php使用memcache來存儲session

記得一定要先啟動Memcached哦!

[root@localhost ~]# /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root

使用ps命令查看一下運行狀態:

[root@localhost ~]# ps -ef | grep memcached

顯示運行成功!

接下來就開始使用PHP操作Memcached啦!

1.創建一個Memcached對象

$m = new Memcached();

2.傳入一台或多台伺服器

//傳入一台伺服器
$m->addServer("127.0.0.1","11211");
//傳入多台伺服器
$servers = array( array("127.0.0.1","11211"), array("127.0.0.2","11211") ); $m->addServers($servers);
//查看一下運行狀態
print_r($m->getStats());

因為傳入的第二台伺服器是不存在的,所以無法獲取到正確的信息。

也可以使用getVersion()來直接獲取memcached的版本信息。

3.add()方法和get()方法

/*
* add()
* key代表加入緩存的key值
* value代表加入緩存的value值
* 600代表這條緩存的生效時間為600秒,0代表永久生效
*/
$m->add("key","value",600);
/*
* get()
* 通過key值來獲取緩存
*/
echo "緩存key值:".$m->get("key);

如果我在第一個add()方法下面再添加一個:

$m->add("key","value1",600);

其實這樣是不會覆蓋掉前面的值得,如果想要覆蓋的話可以使用replace()方法

4.replace()方法

$m->add("key","value",600);
$m->replace("key","value11",600);

這樣當我們再次get(『key』)的時候就會獲取到value11了。

5.set()方法

set()方法其實就集成了add方法和replace方法,如果set的key值是不存在的,它就相當於add方法,如果set的key值已經存在了,它就相當於replace方法,所以一般的時候set方法才是最常用的方法。

$m->set("key","value",600);

6.delete()方法

刪除緩存的方法,使用方法:

/*
* delete()
* 傳入一條緩存的key
*/
$m->delete("key");

加入我上面添加的緩存失效時間還沒有到,執行delete方法後,我們依然無法獲取到這條緩存了。

7.flush()方法

直接清除掉所有的緩存!(慎用!!!)

8.increment()方法

加法操作,使用方法:

//設置一條key值為num,value為5,永久生效的緩存
$m->set("num",5,0);
//沒刷新一次頁面key值為num的緩存value加5
$m->increment("num",5);
//輸出這條緩存
echo $m->get("num");

9.decrement()方法

和increment()方法相似,只是變成了減法,具體使用方法和increment()方法一樣。

更加優雅的使用Memcached方法

10.setMulti()方法

如果一直按照前面的方法進行set緩存的話,一條一條存入是很慢的,所以Memcached為我們提供給了setMulti()方法,使用方法如下:

//首先定義要存入緩存的數組
$data = array( "key1"=>"value1", "key2"=>"value2" );
/*
* setMulti()
* 第一個參數代表傳入的數組,第二個參數代表生效時間,0代表永久
*/
$m->setMulti($data,0);

11.getMulti()方法

同樣獲取緩存也可以一次獲取多條緩存,使用方法如下:

//定義獲取緩存的key值得數組
$get = array("key1","key2");
/*
* getMulti()
* 傳入需要獲取緩存的key值
*/
$result = $m->getMulti($get);
var_dump($result);

12.deleteMulti()方法

和getMulti()方法類似,不過是刪除緩存,使用方法如下:

$delete = array("key1","key2");
$m->deleteMulti($delete);

這時key值為key1和key2的緩存就被刪除掉了。

13.getResultCode()方法

當我執行完一個操作之後可以使用這個方法來查看執行的情況,使用方法如下:

//剛才我執行了deleteMulti()方法,這時候我可以使用getResultCode()方法來查看操作是否成功
echo $m->getResultCode();

當正確執行時會放回0;

更多狀態碼請點擊:更多狀態碼

14.getResultMessage()方法

和getResultCode()方法的區別是,getResultCode()是返回狀態碼,getResultMessage()方法是返回具體信息。使用方法如下:

//上面執行deleteMulti()方法
$m->getResultMessage();

這是回返回一個SUCCESS的信息,告訴我們操作成功了,具體的返回信息參考上面的更多狀態碼鏈接!

使用PHP簡單操作Memcached

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Docker-Window環境下安裝,使用入門hello-world示例
Intellij idea集成的git頁面進行操作

TAG:程序員小新人學習 |