動態網站常因資料庫查詢頻繁導致回應緩慢。Memcached 以高效能的記憶體快取機制,將熱門資料暫存於 RAM,大幅降低資料庫負載,是提升 PHP 應用吞吐量的利器。
<?php
// 建立連線
$mem = new Memcache;
$mem->connect('memcached_ip', 11211); // 預設埠號 11211
// 寫入資料(key, value, flag, 過期秒數)
$mem->set('user:1001', '張三', 0, 3600); // 快取 1 小時
// 讀取資料
$val = $mem->get('user:1001');
echo "Get user:1001 value: $val
";
// 更新資料
$mem->replace('user:1001', '李四', 0, 60);
$val = $mem->get('user:1001');
echo "Get user:1001 value: $val
";
// 存入陣列
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('tags', $arr, 0, 60);
$val2 = $mem->get('tags');
echo "Get tags value: ";
print_r($val2);
echo "
";
// 刪除單筆
$mem->delete('user:1001');
$val = $mem->get('user:1001');
echo "Get user:1001 value: $val
"; // 回傳 false
// 清空所有快取
$mem->flush();
$val2 = $mem->get('tags');
echo "Get tags value: ";
print_r($val2);
echo "
";
// 關閉連線
$mem->close();
模組:類型:ID 格式(如 product:detail:123),避免衝突且易於管理。