存储会话

问题描述:

这是代码,我已经加入到config/main.php在我的Yii 1.x中的应用:存储会话

'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

既然你是新来的堆栈溢出,请,表明发问这里之前一些努力。谷歌周围,阅读文档等。不要只问问题,可以在五分钟内回答,或阅读正式文件的第一段。如果你自己做不到,你的问题将被降低,关闭或根本没有答案。 – trejder 2014-10-10 13:09:06

+1

trejder我知道我是堆栈溢出的新手。这并不意味着我没有花费精力去搜索谷歌或其他资源。我对memcache.so中的存储有一些困惑,这就是为什么我问你。我的意图不是在五分钟内得到答案。如果它是愚蠢的问题,但对我来说是新的。因此,我期待好的答案。谢谢你的回答和对我的问题的努力。我会在下一次愚蠢之前小心。谢谢 – 2014-10-16 07:58:53

+0

不要误解我的意思。我无意告诉你,你的问题很愚蠢。没门。我只是想指出你,你应该显示你的努力。您在问题本身中没有写任何关于您为解决问题所做的工作。就这样。不要采取这个人。我只是想避免,有人会关闭你的问题。顺便说一句:如果你想在这里表达你的“感谢”,只需提出回答,评论或问题! :] – trejder 2014-10-16 09:14:49

您是否阅读过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, 
       ) 
      ) 
     ) 
    ) 
)