YII:Memcache还是文件缓存?

时间:2013-07-01 09:26:23

标签: yii

我最近为网站设置了memcache。然而,让memcache为设计师和开发人员工作总是很痛苦。我想切换到文件缓存。任何其他YII memory caching选项是否可以击败Memcahce或者至少或多或少地执行相同的操作?

我正在考虑使用:http://www.yiiframework.com/doc/api/1.1/CFileCache

1 个答案:

答案 0 :(得分:0)

如上所述,它在某种程度上取决于您是否需要分布式缓存,以及是否需要缓存在所有环境中完全相同。如果您已在大多数情况下使用数据库并打开数据连接,则可以使用CDbCache

我有一个部署在几个不同环境和不同类型用户的Web应用程序,因此我设置了一个服务器环境变量来选择缓存系统。 Redis是生产的默认设置(性能与memcache非常相似,但没有波动性),CDbCache是​​其他环境的默认设置,如果有APC则可以选择APC,如果其他所有设备都失败,则选择File。在您的配置中,您可以设置如下内容:

if ($cache == 'redis') {
    $cache_config = array(
        'class' => 'packages.redis.ARedisCache');
} elseif ($cache == 'apc') {
    $cache_config = array(
        'class' => 'system.caching.CApcCache');
} elseif ($cache == 'file') {
    $cache_config = array(
        'class' => 'system.caching.CFileCache');
} else {
    $cache_config = array(
        'class'=>'system.caching.CDbCache',
        'connectionID'=>'db'
    );
}