在Yii里面我想達(dá)到將Session信息存儲(chǔ)到Memcached里面只需要稍做配置即可,我當(dāng)前的Yii版本為yii-1.1.13.e9e4a0
'session' => array( 'html' target='_blank'>class' => 'CCacheHttpSession', 'autoStart' => true, 'cacheID' => 'sessionCache', // we only use the sessionCache to store the session 'cookieMode' => 'only', 'timeout' => 1400,),'sessionCache' => array( 'class' => 'system.caching.CMemCache', 'servers' => array( array( 'host' => '192.168.10.193', 'port' => 11211, 'weight' => 6 ), array( 'host' => '192.168.10.226', 'port' => 11211, 'weight' => 3 ), array( 'host' => '192.168.10.228', 'port' => 11211, 'weight' => 2 ), ),),
測(cè)試一下登錄沒(méi)有問(wèn)題,然后非常好奇,它真的就存入到Memcached里面了嗎?我們?nèi)绾蝸?lái)驗(yàn)證一下呢?
為了省去新建一個(gè)Controller所以我就直接寫(xiě)一個(gè)action到SiteController里面去了。
public function actionTestSessionWithMemcached(){ /* * 得到sessionID號(hào) * 計(jì)算出來(lái)存在memcached的key值是多少. */ $sessionId = Yii::app()->session->sessionID; echo "key:", $key = CCacheHttpSession::CACHE_KEY_PREFIX.$sessionId; /** * 這相當(dāng)于是直接使用Memcached 連接,和session沒(méi)有任何掛鉤, * 我們來(lái)看一下session的數(shù)據(jù)是否真的就存在了memcached里邊。 * 通過(guò)計(jì)算出來(lái)的key直接用 get命令獲取然后將數(shù)據(jù)打印出來(lái)就能看到值了。 * 測(cè)試的時(shí)候先登錄噢,別不登錄就開(kāi)始測(cè)試估計(jì)會(huì)獲取不到值,以為有問(wèn)題呢! */ $mem = Yii::app()->sessionCache; $data =$mem->get($key); var_dump($data);}
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選