0

外部 memcached サーバーと通信する codeigniter を取得できません。-vvv フラグを指定して memcached を実行しています。通常、php 経由で memcached を使用すると、正常に動作します (zerkms に感謝します)。しかし、codeigniter を介して値を設定/取得しようとすると、削除サーバーに接続することさえできませんが、エラーはまったく発生しません。

memaced.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)
4

1 に答える 1

0

これは、Codeigniter の memcached ドライバーの問題だと思います。

Codeigniter フォーラムで次の投稿を見つけました。このmemcachedライブラリは、まったく問題なく、初めて完全に機能しました。組み込みの Codeigniter Cache ライブラリを使用したいので、これは解決策ではありませんが、当面はこれで十分実用的な回避策が得られます。

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

于 2012-06-11T14:07:56.027 に答える