元缓存或Codeigniter缓存

时间:2012-05-01 08:19:36

标签: html codeigniter caching

我应该使用哪个缓存来减少页面的加载时间 - 元缓存或Codeigniter缓存。

请建议。

3 个答案:

答案 0 :(得分:0)

对我来说,我尝试过CI Cache,这很好...... 大多数人会说这是你自己的选择,你必须根据你的项目要求来决定..

但可以肯定的是,最好的答案是尝试这一点并尝试然后选择最适合你的情况

答案 1 :(得分:0)

取决于您的需求。

如果您不需要更具体的内容,并且缓存整个页面没有问题,您应该使用Web Page Caching。这非常简单,适合你。

如果它更具体,可能你应该试试Caching Driver,它允许你使用各种不同类型的缓存(包括memcache)。最大的优点是可以缓存特定的代码块(对于需要不同页面模块的项目非常有用)。

而且,如果你想尝试一些第三方的东西,我非常推荐Phil Sturgeon CodeIgniter Cache Library,它也适用于代码块,它非常容易使用,可以快速生成基于文本的缓存。

问候!

答案 2 :(得分:0)

我最近使用过Stash; http://code.google.com/p/stash/,在工作中,这很棒。它使用分层键结构,这对于缓存相关项非常有用。

我使用这个库文件将它作为第三方软件包集成,然后我去了。

<?php

class Stash {

    private $_pool;

    public function __construct($options)
    {
        include_once APPPATH . '/third_party/Stash/autoload.php';

        if (isset($options['stash']) && isset($options['stash']['path'])) {
            if (substr($options['stash']['path'], 0, 1) != '/') {
                $options['stash']['path'] = getcwd() . '/' . $options['stash']['path'];
            }
        }

        $handler = new Stash\Handler\FileSystem(@$options['stash']);

        $this->_pool = new Stash\Pool;
        $this->_pool->setHandler($handler);
    }

    public function getCache($path)
    {
        return $this->_pool->getCache($path);
    }
}

?>

只需使用这个简单的配置文件:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| Stash Cache settings
| -------------------------------------------------------------------
|
*/

$config['stash'] = array('path' => APPPATH .'/cache');

然后你可以像这样使用它:

$this->load->library('Stash');
$cache = $this->stash->getCache(array('key1','subkey1','subkey2'));
$cache->set('foo', 'bar', 30);