【问题标题】:Looking for a PHP driver based Cache Wrapper寻找基于 PHP 驱动程序的缓存包装器
【发布时间】:2011-02-27 13:03:52
【问题描述】:

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

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

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

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

提前感谢您的输入!

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

【问题讨论】:

  • @sexypout 我不想浪费你的时间,但如果你想为你的答案提供适当的信用,请将其作为答案发布......在撰写本文时,你的提示是我要求的最佳解决方案.

标签: php caching


【解决方案1】:

CodeIgniter 有一个很好的cache driver

【讨论】:

    【解决方案2】:

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

    举几个例子

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 我知道这并不难,这就是为什么我认为有人可能以前做过......
        • 很难正确实现。对同一个不存在的缓存的并发访问呢?如果你想要锁定和一切,那么正确地做到这一点是很棘手的。
        【解决方案5】:

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

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

        PEAR 的 Cache_Lite 仅使用文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-20
          • 1970-01-01
          • 2010-12-15
          • 2014-05-16
          • 1970-01-01
          • 1970-01-01
          • 2014-10-27
          • 2010-10-17
          相关资源
          最近更新 更多