Caching Yii缓存控制台应用程序和web应用程序之间的共享缓存?

Caching Yii缓存控制台应用程序和web应用程序之间的共享缓存?,caching,yii,redis,Caching,Yii,Redis,我正在使用console应用程序为我的应用程序创建缓存。 但我无法为我的web应用共享该缓存。 (在我的redis数据库中,其显示是从控制台创建的) 知道如何将从控制台创建的缓存共享到我的web应用程序吗?前端配置文件: 'cache' => array( 'class' => 'system.caching.' . (!MW_DEBUG ? 'CFileCache' : 'CDummyCache'), 'keyPrefix' => md5('front

我正在使用console应用程序为我的应用程序创建缓存。 但我无法为我的web应用共享该缓存。 (在我的redis数据库中,其显示是从控制台创建的)
知道如何将从控制台创建的缓存共享到我的web应用程序吗?

前端配置文件:

'cache' => array(
    'class'     => 'system.caching.' . (!MW_DEBUG ? 'CFileCache' : 'CDummyCache'),
    'keyPrefix' => md5('frontend.' . MW_VERSION . Yii::getPathOfAlias('frontend')),
),
'cache' => array(
  'class'     => 'system.caching.' . (!MW_DEBUG ? 'CFileCache' : 'CDummyCache'),
  'keyPrefix' => md5('console.' . MW_VERSION . Yii::getPathOfAlias('backend')),
),
控制台配置文件:

'cache' => array(
    'class'     => 'system.caching.' . (!MW_DEBUG ? 'CFileCache' : 'CDummyCache'),
    'keyPrefix' => md5('frontend.' . MW_VERSION . Yii::getPathOfAlias('frontend')),
),
'cache' => array(
  'class'     => 'system.caching.' . (!MW_DEBUG ? 'CFileCache' : 'CDummyCache'),
  'keyPrefix' => md5('console.' . MW_VERSION . Yii::getPathOfAlias('backend')),
),

我遇到了同样的问题,通过保持后端和前端两个应用程序的相同设置,问题得到了解决

'cache'=> array(
    'class' => 'CRedisCache',
    'hostname' => 'localhost',
    'port' => 6379,
    'database' => 0,
    'hashKey' => false,
    'keyPrefix' => '',
);
将keyPrefix设置为空,将hashKey设置为false

若对keyPrefix和hashKey使用默认设置,则CRedisCache将为set命令提供的相同值创建不同的键 例如


CRedisCache通过为每个请求的服务器使用hashKey和keyPrefix的组合来创建唯一的密钥

FWIW,实际上不需要将hashKey设置为false(实际上不应该)。只要确保控制台和web应用程序上的keyPrefix相同就足够了。