PHP 處理大量資料請求時,頻繁存取資料庫會造成效能瓶頸。Memcached 以記憶體為基礎的 Key-Value 存儲,能大幅降低資料庫負載,提升回應速度。
memcache 擴展(非 memcached)<?php
// 1. 建立連線
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211) or die("連線失敗");
// 2. 顯示版本
echo "Memcached 版本: " . $mem->getVersion() . "<br>";
// 3. 儲存字串 (key, value, flag, expire秒)
$mem->set('key1', 'This is first value', 0, 60);
echo "Get key1: " . $mem->get('key1') . "<br>";
// 4. 替換資料
$mem->replace('key1', 'This is replace value', 0, 60);
echo "Replace key1: " . $mem->get('key1') . "<br>";
// 5. 儲存陣列
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
print_r($mem->get('key2'));
// 6. 刪除單筆
$mem->delete('key1');
var_dump($mem->get('key1')); // false
// 7. 清空所有
$mem->flush();
var_dump($mem->get('key2')); // false
// 8. 關閉連線
$mem->close();
?>
<?php
$mc = memcache_connect('localhost', 11211);
$pn = $mc->get('pid');
echo "目前計數: $pn<br>";
if ($pn < 1) $pn = 1;
else $pn++;
$mc->set('pid', $pn, 0, 0); // 0 代表永不過期
memcache_close($mc);
?>