Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫
memcached是什麼? 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);
$memcache -> close();
?>