下載對應 PHP 版本的 php_memcache.dll(Windows)或透過 pecl install memcache(Linux)安裝。
extension=php_memcache.dll
重新啟動 Web Server(Apache/Nginx/PHP-FPM)使設定生效。
以下程式碼展示連線、寫入(字串、數值、陣列、物件)、讀取、更新、刪除等核心操作:
<?php
// 建立 Memcache 物件
$mem = new Memcache;
// 連線至伺服器 (IP, Port)
if (!$mem->connect('127.0.0.1', 11211)) {
die('連線失敗!');
}
// --- 寫入資料 (set) ---
// 參數: key, value, flag(壓縮), expire(秒)
// 1. 寫入字串
$mem->set('key_str', 'beijing', MEMCACHE_COMPRESSED, 60);
// 2. 寫入數值
$mem->set('key_num', 100, MEMCACHE_COMPRESSED, 60);
// 3. 寫入陣列 (自動序列化)
$arr = ['bj', 'tj'];
$mem->set('key_arr', $arr, MEMCACHE_COMPRESSED, time() + 3600*24);
// 4. 寫入物件 (自動序列化)
class Dog { public $name; public $age; }
$dog = new Dog('小狗', 2);
$mem->set('key_obj', $dog, MEMCACHE_COMPRESSED, 60);
// --- 讀取資料 (get) ---
$val = $mem->get('key_arr');
var_dump($val); // 輸出陣列
// --- 更新資料 (replace) ---
// 僅當 key 存在時更新
$mem->replace('key_str', 'shanghai', MEMCACHE_COMPRESSED, 60);
// --- 刪除資料 (delete) ---
$mem->delete('key_num');
// 關閉連線 (腳本結束會自動釋放)
$mem->close();
?>
json_encode/json_decode。MEMCACHE_COMPRESSED 可自動壓縮大數據,節省記憶體與網路頻寬。$mem->pconnect() 可建立持久連線,減少高併發下的連線開銷。expire 時間未過期、key 名稱拼寫正確。php_memcache 擴展已正確載入 (php -m | grep memcache)。