0

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

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

4

1 回答 1

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'
    );
}
于 2013-07-01T19:42:44.130 回答