我正在尋找一個代碼緩存獨立PHP代碼的解決方案。尋找一個基於PHP驅動程序的緩存包裝
某種提供緩存獨立層的類或庫。
因此,我可以開始編碼,並在開始時使用基於文件的緩存,並在項目加載時切換到apc/eaccellerator/memcached。
我知道,這並不難,你自己編碼,但那也是我相信這樣的事情已經存在的原因。而我寧願使用已經測試過的解決方案:)
在此先感謝您的意見!
編輯: 對不起,但我需要一個獨立的庫,應該與現有的結構很好玩。
我正在尋找一個代碼緩存獨立PHP代碼的解決方案。尋找一個基於PHP驅動程序的緩存包裝
某種提供緩存獨立層的類或庫。
因此,我可以開始編碼,並在開始時使用基於文件的緩存,並在項目加載時切換到apc/eaccellerator/memcached。
我知道,這並不難,你自己編碼,但那也是我相信這樣的事情已經存在的原因。而我寧願使用已經測試過的解決方案:)
在此先感謝您的意見!
編輯: 對不起,但我需要一個獨立的庫,應該與現有的結構很好玩。
也就是說的FluxBB的:https://github.com/fluxbb/cache
這種解決方案應該存在於幾乎任何PHP框架中。
的一對夫婦的例子
Zend_Cache
:從一個backend切換到另一個僅僅是一個配置的問題。笨具有良好的cache driver。
爲什麼不能創建自己的緩存系統,它不是真的那麼複雜,只需要加載驅動程序的結構,有一個API接口來實現,你要善於
class PHPCache
{
protected $Driver;
public function __construct($driver)
{
require_once 'drivers/' . $drivers . '.driver.php';
$driver = "PHPCacheDriver_" . $driver;
$this->Driver = new $driver;
}
public function create($key,$value)
{
return $this->Driver->create($key,$value);
}
public function read($key,$value)
{
return $this->Driver->read($key,$value);
}
public function update($key,$value)
{
return $this->Driver->update($key,$value);
}
public function remove($key)
{
return $this->Driver->remove($key);
}
}
,然後將每個驅動程序實現的接口並相應地提取數據。
我知道這並不難,這就是爲什麼我認爲有人可能以前做過... – 2011-02-27 14:25:18
很難正確實施它。併發訪問同一個不存在的緩存怎麼樣?如果你想鎖定和一切,那麼獲得這個權利是非常棘手的。 – cweiske 2012-02-15 08:34:26
看一看:https://github.com/fluxbb/cache – seriousdev 2011-02-27 13:17:47
@sexyprout我不想偷你的時間,但如果你想得到適當的信貸爲您的答案請發佈它作爲答案...在這寫你的提示是我的要求的最佳解決方案。 – 2011-02-27 14:22:56