Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在寻找基于PHP驱动程序的缓存包装器_Php_Caching - Fatal编程技术网

正在寻找基于PHP驱动程序的缓存包装器

正在寻找基于PHP驱动程序的缓存包装器,php,caching,Php,Caching,我正在寻找代码缓存独立PHP代码的解决方案 提供缓存无关层的某种类或库 因此,我可以开始编码并在开始时使用基于文件的缓存,并在项目负载增加时切换到apc/eaccellerator/memcached 我知道,自己编写代码并不难,但这也是我相信类似的东西已经存在的原因。我更喜欢使用已经测试过的解决方案: 提前感谢您的输入 编辑: 抱歉,伙计们,我需要一个独立的库,它应该与现有的结构配合使用。这种解决方案应该存在于几乎所有的PHP框架中 举几个例子 使用Zend Framework,您可以使用:从

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

提供缓存无关层的某种类或库

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

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

提前感谢您的输入

编辑:
抱歉,伙计们,我需要一个独立的库,它应该与现有的结构配合使用。

这种解决方案应该存在于几乎所有的PHP框架中

举几个例子

使用Zend Framework,您可以使用:从一个切换到另一个只是配置问题。 对于科哈纳来说,有一个类似的东西: 这是symfony的一个:
这种解决方案应该存在于几乎任何PHP框架中

举几个例子

使用Zend Framework,您可以使用:从一个切换到另一个只是配置问题。 对于科哈纳来说,有一个类似的东西: 这是symfony的一个:
CodeIgniter有一个很好的方法。

CodeIgniter有一个很好的方法。

为什么不创建自己的缓存系统呢,其实并不复杂,只是有一个加载驱动程序的结构,有一个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。

为什么不创建自己的缓存系统呢,其实并不复杂,只要有一个加载驱动程序的结构,有一个要实现的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。

FluxBB的驱动程序:

FluxBB的驱动程序:

PEAR有一个包,其中包含用于以下目的的容器:

数据库PEAR DB lib、PEAR MDB2 lib、PHPlib DB 文件 共享内存SHM PEAR只使用文件。

PEAR有一个包,包中有以下容器:

数据库PEAR DB lib、PEAR MDB2 lib、PHPlib DB 文件 共享内存SHM
PEAR只使用文件。

看一看:@sexyprout我不想占用你的时间,但如果你想为你的答案获得适当的分数,请将其作为答案发布。。。在写这篇文章的时候,你的提示是我请求的最佳解决方案。看一看:@sexyprout我不想占用你的时间,但是如果你想为你的答案获得适当的分数,请将其作为答案发布。。。在写这篇文章的时候,你的提示是我请求的最佳解决方案。我知道这并不难,这就是为什么我认为可能有人以前做过这件事…很难正确实施它。对同一个不存在的缓存的并发访问呢?如果你想要锁定和所有东西,那么要做到这一点是很困难的。我知道这并不难,这就是为什么我认为可能有人以前做过这件事……要正确地实现它是很困难的。对同一个不存在的缓存的并发访问呢?如果您想要锁定和其他一切,那么要做到这一点是很棘手的。