Session 将会话存储在MemCache中,而不是将默认会话存储在Yii 1.x中

Session 将会话存储在MemCache中,而不是将默认会话存储在Yii 1.x中,session,yii,memcached,Session,Yii,Memcached,这是我在Yii 1.x应用程序中添加到config/main.php的代码: 'mCache' => array( 'class' => 'system.caching.CMemCache', 'useMemcached'=>true, 'keyPrefix'=>'', 'hashKey'=>false, 'serializer'=>false, 'serve

这是我在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
,而不是默认会话存储?

您是否阅读了Yii 1.x API文档中的简介?我想你没有。在本文档的第一段中,您有一个示例,即如何在Yii 1.x中使用
CMemCache

在配置文件的
会话
键中将
'class'=>'CCacheHttpSession'
更改为
'class'=>'CMemCache'
。而且您不必像您在示例(
mCache
)中所做的那样,将
CMemCache
注册为单独的组件。您可以在
会话
配置键中直接配置它

例如:


我知道这个答案很旧,但是这个配置很有效

    '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',

    ),

由于您是堆栈溢出新手,请在这里提问之前先表现出一些努力。谷歌搜索、阅读文档等。不要只问问题,这些问题可以在五分钟内或通过阅读官方文档的第一段来回答。如果你自己没能完成某件事,你的问题将被否决、关闭或根本不被回答。这并不意味着我没有努力在谷歌或其他资源上搜索。我对memcache中的存储有一些困惑。这就是我问你的原因。我的目的是不想在五分钟内得到答案。如果这是一个愚蠢的问题,但对我来说是新问题。所以我希望得到好的答案。顺便说一句,感谢你的回答和为我的研究所做的努力问题。在下次愚蠢之前我会小心的。谢谢你别误会我。我不是故意告诉你的,你的问题很愚蠢。不行。我只是想告诉你,你应该表现出你的努力。你没有在问题本身写任何东西,你做了什么来解决问题。这就是全部。不要把这件事当回事。我只是想避免,有人会结束你的问题。顺便说一句:如果你想在这里表达你的“感谢”,只需向上投票回答、评论或问题!:]只需将“您的会话不工作”中的“类”=>“CCacheHttpSession”更改为“类”=>“CMemCache”。Yii需要一个会话对象,而不是缓存对象。
    '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',

    ),