首頁 > 後端開發 > PHP問題 > php memcached 的用法是什麼

php memcached 的用法是什麼

藏色散人
發布: 2023-03-13 14:12:02
原創
2251 人瀏覽過

php memcached的用法:1、啟動Memcached;2、使用ps指令檢視一下運作狀態;3、建立一個Memcached物件;4、透過add和get方法加入資料即可。

php memcached 的用法是什麼

本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦

php memcached 的用法是什麼?

使用PHP簡單操作Memcached:

#記得一定要先啟動Memcached哦!

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

-d 守護程式模式(退出終端機視窗之後讓程式還在運作),-l 指定IP位址127.0.0.1 ,-p 指定連接埠號碼11211,-m 要為memcached分配多少記憶體(單位: M),-u 指定使用哪個使用者啟動memcached

使用ps指令檢視一下執行狀態:

[root@localhost ~]# ps -ef | grep memcached
登入後複製

php 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());
登入後複製

php memcached 的用法是什麼

因為傳入的第二台伺服器是不存在的,所以無法取得正確的資訊。 

也可以使用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);
登入後複製

php memcached 的用法是什麼

如果我在第一個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);
登入後複製

php memcached 的用法是什麼

#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影片教學

以上是php memcached 的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板