利用php操作memcache緩存的基礎(chǔ)方法示例
前言
最近在工作中又遇到了memcache,大家應(yīng)該都有所了解,memcache 是一個(gè)高效的分布式的內(nèi)存對(duì)象緩存系統(tǒng),他可以支持把php的各種數(shù)據(jù)(數(shù)組,對(duì)象,基本數(shù)據(jù)類(lèi)型)放在它管理的內(nèi)存中,本文將給大家詳細(xì)介紹關(guān)于php操作memcache緩存的基礎(chǔ)方法,話不多說(shuō),來(lái)一起看看詳細(xì)的介紹吧。
1、代碼使用
<?php //連接 $mem = new Memcache; $mem->connect("127.0.0.1", 11211) or die ("Could not connect"); //顯示版本 $version = $mem->getVersion(); echo "Memcached Server version: ".$version."<br>"; //保存數(shù)據(jù) $mem->set('key1', 'This is first value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val ."<br>"; //替換數(shù)據(jù) $mem->replace('key1', 'This is replace value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //保存數(shù)組 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); $mem->set('key2', $arr, 0, 60); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //對(duì)數(shù)組進(jìn)行序列化,在網(wǎng)絡(luò)傳輸?shù)臅r(shí)候,為了保證,數(shù)據(jù)類(lèi)型的不丟失,先序列化,再發(fā)生. //$arr1=serialize($arr); $arr2=json_encode($arr1); print_r($arr2); //刪除數(shù)據(jù) $mem->delete('key1'); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //清除所有數(shù)據(jù) $mem->flush(); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //關(guān)閉連接 $mem->close(); ?>
2、函數(shù)庫(kù)詳解:
- Memcache::add - 添加一個(gè)值,如果已經(jīng)存在,則返回false
- Memcache::addServer - 添加一個(gè)可供使用的服務(wù)器地址
- Memcache::close - 關(guān)閉一個(gè)Memcache對(duì)象
- Memcache::connect - 創(chuàng)建一個(gè)Memcache對(duì)象
- memcache_debug - 控制調(diào)試功能! [4 F8 C2 e, X
- Memcache::decrement - 對(duì)保存的某個(gè)key中的值進(jìn)行減法操作
- Memcache::delete - 刪除一個(gè)key值
- Memcache::flush - 清除所有緩存的數(shù)據(jù)
- Memcache::get - 獲取一個(gè)key值
- Memcache::getExtendedStats - 獲取進(jìn)程池中所有進(jìn)程的運(yùn)行系統(tǒng)統(tǒng)計(jì)
- Memcache::getServerStatus - 獲取運(yùn)行服務(wù)器的參數(shù)
- Memcache::getStats - 返回服務(wù)器的一些運(yùn)行統(tǒng)計(jì)信息
- Memcache::getVersion - 返回運(yùn)行的Memcache的版本信息
- Memcache::increment - 對(duì)保存的某個(gè)key中的值進(jìn)行加法操作
- Memcache::pconnect - 創(chuàng)建一個(gè)Memcache的持久連接對(duì)象
- Memcache::replace -對(duì)一個(gè)已有的key進(jìn)行覆寫(xiě)操作
- Memcache::set - 添加一個(gè)值,如果已經(jīng)存在,則覆寫(xiě)
- Memcache::setCompressThreshold - 對(duì)大于某一大小的數(shù)據(jù)進(jìn)行壓縮
- Memcache::setServerParams - 在運(yùn)行時(shí)修改服務(wù)器的參數(shù)
3、分布式使用:
Memcache函數(shù)庫(kù)是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的內(nèi)存數(shù)據(jù)的臨時(shí)存放區(qū)域,在分布式的時(shí)候作用體現(xiàn)的非常明顯
<?php //1.實(shí)例化一個(gè)Memcache對(duì)象 $mem=new Memcache(); //2. 連接到指定的memcache中 // $mem->connect("127.0.0.1",11211); //如果我們網(wǎng)站,需要多個(gè)memached緩存系統(tǒng),如下使用分布式 $mem->addServer("192.168.1.100",11211); $mem->addServer("192.168.1.200",11211); $mem->addServer("192.168.1.222",11211); //創(chuàng)建多個(gè)memcache服務(wù)使用addServer 會(huì)根據(jù)負(fù)載均衡算法,自動(dòng)放入每個(gè)服務(wù)器 $mem->add("name","zs",0,100); ?>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- PHP MemCached高級(jí)緩存配置圖文教程
- Memcache 基礎(chǔ)教程(php 緩存)
- php實(shí)現(xiàn)memcache緩存示例講解
- PHP 內(nèi)存緩存加速功能memcached安裝與用法
- PHP MemCached 高級(jí)緩存應(yīng)用代碼
- php中操作memcached緩存進(jìn)行增刪改查數(shù)據(jù)的實(shí)現(xiàn)代碼
- PHP內(nèi)存緩存Memcached類(lèi)實(shí)例
- php操作memcache緩存方法分享
- PHP使用memcache緩存技術(shù)提高響應(yīng)速度的方法
- PHP內(nèi)存緩存功能memcached示例
相關(guān)文章
php實(shí)現(xiàn)多維數(shù)組排序的方法示例
這篇文章主要介紹了php實(shí)現(xiàn)多維數(shù)組排序的方法,結(jié)合實(shí)例形式分析了php針對(duì)多維數(shù)組的排序操作相關(guān)技巧,需要的朋友可以參考下2017-03-03利用swoole+redis實(shí)現(xiàn)股票和區(qū)塊鏈服務(wù)
這篇文章主要給大家介紹了關(guān)于利用swoole+redis實(shí)現(xiàn)股票和區(qū)塊鏈服務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09