我应该使用哪个缓存来减少页面的加载时间 - 元缓存或Codeigniter缓存。
请建议。
答案 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);