利用php操作memcache緩存的基礎(chǔ)方法示例
前言
最近在工作中又遇到了memcache,大家應(yīng)該都有所了解,memcache 是一個高效的分布式的內(nèi)存對象緩存系統(tǒng),他可以支持把php的各種數(shù)據(jù)(數(shù)組,對象,基本數(shù)據(jù)類型)放在它管理的內(nèi)存中,本文將給大家詳細(xì)介紹關(guān)于php操作memcache緩存的基礎(chǔ)方法,話不多說,來一起看看詳細(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>";
//對數(shù)組進(jìn)行序列化,在網(wǎng)絡(luò)傳輸?shù)臅r候,為了保證,數(shù)據(jù)類型的不丟失,先序列化,再發(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ù)庫詳解:
- Memcache::add - 添加一個值,如果已經(jīng)存在,則返回false
- Memcache::addServer - 添加一個可供使用的服務(wù)器地址
- Memcache::close - 關(guān)閉一個Memcache對象
- Memcache::connect - 創(chuàng)建一個Memcache對象
- memcache_debug - 控制調(diào)試功能! [4 F8 C2 e, X
- Memcache::decrement - 對保存的某個key中的值進(jìn)行減法操作
- Memcache::delete - 刪除一個key值
- Memcache::flush - 清除所有緩存的數(shù)據(jù)
- Memcache::get - 獲取一個key值
- Memcache::getExtendedStats - 獲取進(jìn)程池中所有進(jìn)程的運行系統(tǒng)統(tǒng)計
- Memcache::getServerStatus - 獲取運行服務(wù)器的參數(shù)
- Memcache::getStats - 返回服務(wù)器的一些運行統(tǒng)計信息
- Memcache::getVersion - 返回運行的Memcache的版本信息
- Memcache::increment - 對保存的某個key中的值進(jìn)行加法操作
- Memcache::pconnect - 創(chuàng)建一個Memcache的持久連接對象
- Memcache::replace -對一個已有的key進(jìn)行覆寫操作
- Memcache::set - 添加一個值,如果已經(jīng)存在,則覆寫
- Memcache::setCompressThreshold - 對大于某一大小的數(shù)據(jù)進(jìn)行壓縮
- Memcache::setServerParams - 在運行時修改服務(wù)器的參數(shù)
3、分布式使用:
Memcache函數(shù)庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的內(nèi)存數(shù)據(jù)的臨時存放區(qū)域,在分布式的時候作用體現(xiàn)的非常明顯
<?php
//1.實例化一個Memcache對象
$mem=new Memcache();
//2. 連接到指定的memcache中
// $mem->connect("127.0.0.1",11211);
//如果我們網(wǎng)站,需要多個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)建多個memcache服務(wù)使用addServer 會根據(jù)負(fù)載均衡算法,自動放入每個服務(wù)器
$mem->add("name","zs",0,100);
?>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
php中http與https跨域共享session的解決方法
這篇文章主要介紹了http與https跨域共享session的解決方法,需要的朋友可以參考下2014-12-12
PHP curl批處理及多請求并發(fā)實現(xiàn)方法分析
這篇文章主要介紹了PHP curl批處理及多請求并發(fā)實現(xiàn)方法,結(jié)合實例形式分析了php curl并發(fā)請求處理相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-08-08
PHP數(shù)據(jù)源架構(gòu)模式之表入口模式實例分析
這篇文章主要介紹了PHP數(shù)據(jù)源架構(gòu)模式之表入口模式,結(jié)合實例形式分析了PHP表入口模式的相關(guān)概念、原理、使用方法及操作注意事項,需要的朋友可以參考下2020-01-01

