0

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

请建议。

4

3 回答 3

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);
于 2012-08-01T06:00:41.467 回答
0

取决于你的需求。

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

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

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

问候!

于 2012-05-01T13:01:54.613 回答
0

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

但可以肯定的是,最好的答案是尝试这个并尝试那个然后为你的情况选择最好的

于 2012-05-01T09:05:26.880 回答