正在寻找基于PHP驱动程序的缓存包装器
我正在寻找代码缓存独立PHP代码的解决方案 提供缓存无关层的某种类或库 因此,我可以开始编码并在开始时使用基于文件的缓存,并在项目负载增加时切换到apc/eaccellerator/memcached 我知道,自己编写代码并不难,但这也是我相信类似的东西已经存在的原因。我更喜欢使用已经测试过的解决方案: 提前感谢您的输入 编辑:正在寻找基于PHP驱动程序的缓存包装器,php,caching,Php,Caching,我正在寻找代码缓存独立PHP代码的解决方案 提供缓存无关层的某种类或库 因此,我可以开始编码并在开始时使用基于文件的缓存,并在项目负载增加时切换到apc/eaccellerator/memcached 我知道,自己编写代码并不难,但这也是我相信类似的东西已经存在的原因。我更喜欢使用已经测试过的解决方案: 提前感谢您的输入 编辑: 抱歉,伙计们,我需要一个独立的库,它应该与现有的结构配合使用。这种解决方案应该存在于几乎所有的PHP框架中 举几个例子 使用Zend Framework,您可以使用:从
抱歉,伙计们,我需要一个独立的库,它应该与现有的结构配合使用。这种解决方案应该存在于几乎所有的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我不想占用你的时间,但是如果你想为你的答案获得适当的分数,请将其作为答案发布。。。在写这篇文章的时候,你的提示是我请求的最佳解决方案。我知道这并不难,这就是为什么我认为可能有人以前做过这件事…很难正确实施它。对同一个不存在的缓存的并发访问呢?如果你想要锁定和所有东西,那么要做到这一点是很困难的。我知道这并不难,这就是为什么我认为可能有人以前做过这件事……要正确地实现它是很困难的。对同一个不存在的缓存的并发访问呢?如果您想要锁定和其他一切,那么要做到这一点是很棘手的。