2012-06-11 37 views
0

我不能讓codeigniter與我的外部memcached服務器對話。我正在使用-vvv標誌運行memcached,通過php正常使用memcached時,它工作正常(謝謝你zerkms)。但是當我嘗試通過codeigniter設置/獲取值時,它甚至不連接到刪除服務器,但我根本沒有得到任何錯誤。PHP Memcached不會連接,但在日誌文件或屏幕上沒有錯誤

memached.php配置文件

<?php 
$config['memcached'] = array(
    'server_1' => array(
     'host' => 'xx.xx.xx.xx', 
     'port'  => 11211, 
     'weight' => 1 
    ) 
); 
?> 

代碼正在運行:

$this->load->driver('cache', array('adapter' => 'memcached', 'backup' => 'file')); 
$userid = '1'; 
$key = 'user_products_'.$userid; 
$results = $this->cache->memcached->get($key); 
if($results == NULL) { 
    $qry = $this->db->query("SELECT * FROM products WHERE user_id=$userid"); 
    $results = $qry->result_array(); 
    $this->cache->memcached->save($key,$results,'60'); 
} 

我曾經嘗試都:

$this->cache->get(); 
$this->cache->save(); 

$this->cache->memcached->get(); 
$this->cache->memcached->save(); 

在Memcached的驅動程序文件,在51行,當我用var_dump檢查出的GET請求的輸出

$data = $this->_memcached->get($id); 
var_dump($data); 

我得到:

bool(false) 
+1

我敢肯定'直到需要做的(在第一次操作)memcahed'類不連接。因此,只需執行一些像'$ memcache-> get('foo');' – zerkms

+0

這樣的讀取,我現在可以看到連接,並且可以使用$ memcache-> set('mykey',' MYDATA」,60);然而,即時嘗試通過codeigniter來實現它,現在我知道memcached模塊正在工作,現在我通過codeigniter進行連接時不會出現任何錯誤,我無法設置或獲取任何值,並且沒有任何內容顯示在memcached服務器上。我嘗試使用$ this-> cache-> memcached-> save($ key,$ results,'60')設置數據;並沒有運氣如此之多。 – user1448020

+0

我對CI沒有任何瞭解,但沒有任何進一步的細節,沒有什麼可以討論的 – zerkms

回答

0

我相信這是同一個問題Codeigniter中的memcached驅動程序。

我在Codeigniter論壇上發現了以下帖子。這個memcached庫第一次爲我工作完全沒有問題。這不是一個解決方案,因爲我更喜歡使用內置的Codeigniter緩存庫,但同時這提供了足夠實用的解決方法。

http://codeigniter.com/forums/viewthread/212893/

相關問題