phpGrace 緩存機制說明
在項目開發過程中我們經常會利用緩存來緩解資料查詢、複雜運算帶來的伺服器壓力以應對高并發!
phpGrace 封裝了簡潔高效的緩存方案,支援檔案、memcache、redis三種形式的緩存方式。
設定緩存類型及相關配置 /phpGrace/config.php(全局配置)<?php
return array(
// ......
//支援的緩存類型
'allowCacheType' => array('file', 'memcache', 'redis'),
//緩存設定
'cache' => array(
'type' => 'memcache', // 支援類型 : file [檔案型], memcache , redis
//以下配置為 memcache 及 redis 類型緩存的必須設定
'host' => '127.0.0.1', // 主機位址
'port' => '11211', // 端口 memcache 一般端口為 11211, redis 一般為 6379
'pre' => 'grace_', // 緩存變量字首
'name2md5' => FALSE // 為 true 時會将緩存變量名進行md5 加密
)
);
統一規則的緩存操作方法【控制器成員方法】:
cache($name, $id = null, $queryMethod, $timer =3600, $isSuper = true)
php 控制器内置了統一的緩存處理函數 cache,此方法會動态的判斷緩存的有效性,并根據實際情況去調用資料查詢、運算等方法。
參數:1、緩存名稱 : 請使用規範的英文字母+數字+下劃線進行命名
2、影響id : 可以是字元串的組合, 也可以試一個一維數組
3、資料車查詢函數
4、有效期【可選參數,預設 3600秒】
5、是否為全局緩存【可選參數,預設 是】
【是】緩存名稱格式:緩存字首+緩存名稱+影響id
【否】緩存名稱格式:緩存字首+控制器名稱+方法名稱+緩存名稱+影響id
調用:
在控制器内容直接使用 cache 函數即可:$this->cache('test', '1002abc', '__查詢函數名稱');
删除指定的緩存 removeCache($name, $id = null, $isSuper = true)參數:1、緩存名稱
2、影響id
3、是否全局
清空緩存 clearCache
使用 clearCache 函數可以快速的情況所有緩存
開發環境下一句代碼關閉全部緩存
在入口頁面添加以下代碼即可關閉所有緩存!define('PG_CLOSE_CACHE', true);
為什麼要這樣??
您可以預先寫好緩存代碼,資料在開發時是實時的,當開發完成、測試完畢删除這行代碼,伺服器端就可以完美運作在緩存環境下了 ^_^