天天看點

php的緩存機制,phpGrace 緩存機制說明

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);

為什麼要這樣??

您可以預先寫好緩存代碼,資料在開發時是實時的,當開發完成、測試完畢删除這行代碼,伺服器端就可以完美運作在緩存環境下了 ^_^