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)
我敢肯定'直到需要做的(在第一次操作)memcahed'类不连接。因此,只需执行一些像'$ memcache-> get('foo');' – zerkms
这样的读取,我现在可以看到连接,并且可以使用$ memcache-> set('mykey',' MYDATA”,60);然而,即时尝试通过codeigniter来实现它,现在我知道memcached模块正在工作,现在我通过codeigniter进行连接时不会出现任何错误,我无法设置或获取任何值,并且没有任何内容显示在memcached服务器上。我尝试使用$ this-> cache-> memcached-> save($ key,$ results,'60')设置数据;并没有运气如此之多。 – user1448020
我对CI没有任何了解,但没有任何进一步的细节,没有什么可以讨论的 – zerkms