0

我无法让 codeigniter 与我的外部 memcached 服务器通话。我正在运行带有 -vvv 标志的 memcached,当通常通过 php 使用 memcached 时,它工作正常(谢谢 zerkms)。但是当我尝试通过 codeigniter 设置/获取值时,它甚至没有连接到删除服务器,但我根本没有收到任何错误。

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 检查获取请求的输出时

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

我得到:

bool(false)
4

1 回答 1

0

我相信这是 Codeigniter 中的 memcached 驱动程序的问题。

我在 Codeigniter 论坛上找到了以下帖子。这个 memcached 库第一次完美地为我工作,绝对没有问题。这不是一个解决方案,因为我更喜欢使用内置的 Codeigniter Cache 库,但与此同时,这提供了一个足够实用的解决方法。

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

于 2012-06-11T14:07:56.027 回答