2012-06-11 35 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/

相关问题