这是我在Yii 1.x应用程序中添加到config/main.php
的代码:
'mCache' => array(
'class' => 'system.caching.CMemCache',
'useMemcached'=>true,
'keyPrefix'=>'',
'hashKey'=>false,
'serializer'=>false,
'servers' => array(
array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 10000)
),
),
'session' => array(
'sessionName' => 'PHPSESSID',
'class' => 'CCacheHttpSession',
'autoStart' => true,
'cacheID' => 'mCache',
'cookieMode' => 'only',
'timeout' => 1200
),
接下来我该怎么办,强制Yii使用CMemCache
而不是默认会话存储?
答案 0 :(得分:0)
您是否在Yii 1.x API文档中阅读了CMemCache
的介绍?我想你没有。在本文档的第一段中,您有一个示例,如何在Yii 1.x中使用CMemCache
。
将'class'=>'CCacheHttpSession'
更改为配置文件的'class'=>'CMemCache'
项中的session
。而且您不必像在示例中那样(CMemCache
)将mCache
注册为单独的组件。您可以直接在session
配置密钥中配置它。
来自Yii 1.x API documentation的示例:
array
(
'components'=>array
(
'cache'=>array
(
'class'=>'CMemCache',
'servers'=>array
(
array
(
'host'=>'server1',
'port'=>11211,
'weight'=>60,
),
array
(
'host'=>'server2',
'port'=>11211,
'weight'=>40,
)
)
)
)
)
答案 1 :(得分:0)
我知道这个答案很旧,但是此配置有效
'memcacheConn'=>array(
'class'=>'CMemCache',
'servers'=>array(
array(
'host'=>'172.17.0.1',
'port'=>11211,
//'weight'=>60,
),
),
),
'session' => array(
'class' => 'CCacheHttpSession',
'autoStart' => true,
'cacheID' => 'memcacheConn',
'cookieMode' => 'allow',
'sessionName' => 'MYSSIONNAME',
),