ThinkPHP 默認採用文件緩存(File),運行一段時間後會在 /Runtime/Temp 目錄生成大量緩存文件,影響 I/O 性能。將緩存驅動切換到 Memcache 可顯著提升讀寫速度,減少磁體壓力。
編輯 Conf/config.php,添加以下配置:
'DATA_CACHE_TYPE' => 'Memcache', 'MEMCACHE_HOST' => 'tcp://127.0.0.1:11211', 'DATA_CACHE_TIME' => '3600',
DATA_CACHE_TYPE:指定緩存類型為 MemcacheMEMCACHE_HOST:Memcache 服務地址,支持 tcp/unix 協議DATA_CACHE_TIME:默認緩存過期時間(秒)下載 CacheMemcache.class.php 放入項目 ORG 目錄(或 Vendor 目錄),確保命名空間正確。
import("@.ORG.CacheMemcache");
$cache = Cache::getInstance();
// 設置緩存
$cache->set("uid", '1231');
// 獲取緩存
$value = $cache->get("uid");
// 刪除指定緩存
$cache->rm("uid");
// 清空所有緩存
$cache->clear();
'MEMCACHE_HOST' => 'tcp://192.168.1.10:11211, tcp://192.168.1.11:11211',
多台服務器用逗號分隔,ThinkPHP 會自動進行一致性哈希分發。
'DATA_CACHE_PREFIX' => 'myapp_', // 避免多項目共用 Memcache 時鍵名衝突
'DATA_CACHE_SERIALIZE' => 1, // 1=序列化存儲,支持複雜數據類型
MEMCACHE_HOST 協議前綴(tcp:// 或 unix://)stats 命令查看命中率、內存使用情況通過簡單三步配置,ThinkPHP 即可無縫切換到 Memcache 緩存驅動。合理使用分佈式緩存能有效降低數據庫壓力,提升應用響應速度,是高併發架構演進的關鍵一步。