寻找基于PHP驱动程序的Cache Wrapper

时间:2011-02-27 13:03:53

标签: php caching

我正在寻找一种独立于代码缓存的PHP代码的解决方案。

某种提供独立于缓存的层的类或库。

所以我可以在开始时开始编码并使用基于文件的缓存,并在项目加载时切换到apc / eaccellerator / memcached。

我知道,这并不难自己编码,但这也是我相信这样的东西已经存在的原因。我更喜欢使用已经测试过的解决方案:)

先感谢您的投入!

编辑: 对不起,伙计们,但我需要一个独立的库,它应该与现有的结构很好地搭配。

5 个答案:

答案 0 :(得分:2)

这种解决方案应该存在于几乎任何PHP框架中。

有几个例子

答案 1 :(得分:2)

CodeIgniter有一个很好的cache driver

答案 2 :(得分:1)

答案 3 :(得分:0)

为什么不创建自己的缓存系统,它不是那么复杂,只是有一个加载驱动程序的结构,有一个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);
    }
}

然后每个驱动程序实现一个接口并相应地CRUD数据。

答案 4 :(得分:0)

PEAR有Cache包,其包含以下容器:

  • 数据库(PEAR DB lib,PEAR MDB2 lib,PHPlib db)
  • 文件
  • 共享内存(SHM)
  • msession

PEAR的Cache_Lite仅使用文件。