Memcache函數庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的記憶體資料的暫時存放區域,在分散式的時候作用體現的非常明顯,否則不建議使用。本文將為大家介紹了利用php操作memcache快取的基礎方法,需要的朋友可以參考下。
前言
最近在工作中又遇到了memcache,大家應該都有所了解,memcache 是一個高效的分散式的內存物件快取系統,他可以支援把php的各種資料(數組,對象,基本資料型別)放在它所管理的記憶體中,這篇文章將給大家詳細介紹關於php操作memcache快取的基礎方法,話不多說,來一起看看詳細的介紹吧。
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>"; //保存数据 $mem->set('key1', 'This is first value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val ."<br>"; //替换数据 $mem->replace('key1', 'This is replace value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //保存数组 $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>"; //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,先序列化,再发生. //$arr1=serialize($arr); $arr2=json_encode($arr1); print_r($arr2); //删除数据 $mem->delete('key1'); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //清除所有数据 $mem->flush(); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //关闭连接 $mem->close(); ?>
#2、函數庫詳解:
Memcache::add - 新增一個值,如果已經存在,則傳回false
Memcache::addServer - 新增一個可供使用的伺服器位址
Memcache::close - 關閉一個Memcache物件
Memcache: :connect - 建立一個Memcache物件
memcache_debug - 控制偵錯功能! [4 F8 C2 e, X
Memcache::decrement - 對儲存的某個key中的值進行減法操作
Memcache::delete - 刪除一個key值
Memcache::flush - 清除所有快取的資料
Memcache::get - 取得一個key值
Memcache::getExtendedStats - 取得一個行程池中所有行程的運作系統統計
Memcache::getServerStatus - 取得執行伺服器的參數
##3、分佈式使用:
Memcache函數庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的記憶體資料的暫時存放區域,在分散式的時候作用體現的非常明顯
<?php //1.实例化一个Memcache对象 $mem=new Memcache(); //2. 连接到指定的memcache中 // $mem->connect("127.0.0.1",11211); //如果我们网站,需要多个memached缓存系统,如下使用分布式 $mem->addServer("192.168.1.100",11211); $mem->addServer("192.168.1.200",11211); $mem->addServer("192.168.1.222",11211); //创建多个memcache服务使用addServer 会根据负载均衡算法,自动放入每个服务器 $mem->add("name","zs",0,100); ?>
以上是php進行memcache快取操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!