Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度,Memcached基于一個存儲鍵/值對的hashmap,其守護進程,daemon,是用C寫的,但是客戶端可以用任何語言來編寫并通過memcached協議與守護進程通信,但是它并不提供冗余,例如,復制其hashmap條目,當某個服務器s停止運行或崩潰了,所有存放在s上的鍵/值對都將丟失.
memcached由danga interactive開發,用于提升livejournal.com訪問速度的,lj每秒動態頁面訪問量幾千次,用戶700萬,memcached將數據庫負載大幅度降低,更好的分配資源,更快速訪問.
memcache常用方法
memcache::add — 添加一個值,如果已經存在,則返回false
memcache::addserver — 添加一個可供使用的服務器地址
memcache::close — 關閉一個memcache對象
memcache::connect — 創建一個memcache對象
memcache::debug — 控制調試功能
memcache::decrement — 對保存的某個key中的值進行減法操作
memcache::delete — 刪除一個key值
memcache::flush — 清除所有緩存的數據
memcache::get — 獲取一個key值
memcache::getextendedstats — 獲取進程池中所有進程的運行系統統計
memcache::getserverstatus — 獲取運行服務器的參數
memcache::getstats — 返回服務器的一些運行統計信息
memcache::getversion — 返回運行的memcache的版本信息
memcache::increment — 對保存的某個key中的值進行加法操作
memcache::pconnect — 創建一個memcache的持久連接對象
memcache::replace — r對一個已有的key進行覆寫操作
memcache::set — 添加一個值,如果已經存在,則覆寫
memcache::setcompressthreshold — 對大于某一大小的數據進行壓縮
memcache::setserverparams — 在運行時修改服務器的參數
memcache方法使用,代碼如下:
- <?php
- $memcache = new memcache;
- $memcache->connect('127.0.0.1', 11211) or die("連接失敗");
- $memcache->set('name', '張三');
- $val = $memcache->get('name');
- ?>
注:set方法的完整版本,set(鍵名,鍵值,是否壓縮,保持時間),代碼如下:
- <?php
- $memcache = new memcache;
- $memcache -> connect('127.0.0.1', 11211) or die("連接失敗");
- $memcache -> set('name', array('一個','兩個'));
- $val = $memcache->get('name');
- print_r($val); //開源代碼Vevb.com
- $memcache -> close();
- ?>
新聞熱點
疑難解答