2010-08-16 6 views
0

Salut à tous, voici la version de ma configuration actuelle Memcached (1.2.2) Pecl Memcached client 1.0.2 (en utilisant libmemcached 0,43)PHP Memcached CAS (vérifier et régler) problème

Problème: Je ne peux pas obtenir un jeton cas retourné lors d'une demande d'obtention

Voici le code en question!

27 public function action_test() { 
28  //phpinfo(); 
29  $m = Model_Mem::getSingleton(); 
30  $found = $m->get('navigation'); 
31  echo (int)count($found).'<br />'; // Returns an array of navigation objects 
32 
33  $cas = 0; 
34  $found = $m->get('navigation', null, &$cas); 
35  echo (int)count($found); // Returns nothing! 
36 
37  exit; 
38 } 

La sortie du premier écho est 7, et le second écho est 1. De même, la variable CAS $, ainsi que la variable $ trouvé à partir du second groupe de codes sont à la fois vide. Je ne suis pas sûr à 100% si je fais cela bien mais le jeton cas ne semble pas fonctionner pour moi du tout. Ive a traversé la documentation de Memcached php avec aucune mention sur n'importe quel genre de drapeau d'activation de CAS que je pourrais facilement repérer. J'ai aussi essayé de regarder le site memcached.org pour obtenir quelques infos mais je suis perdu! Je n'ai jamais eu de problème avec ça, c'est juste à chaque fois que j'essaie et j'utilise la fonctionnalité cas sur une demande get je fais quelque chose de mal. Merci à tous ceux qui m'ont aidé!

* EDIT Voici ce que le Model_Mem :: getSingleton() renvoie

static function getSingleton() { 
    if (self::$m) 
     return self::$m; 

    self::$m = new Memcached(); 

    $servers = array(
     array('127.0.0.1', 11211, 25), 
     array('127.0.0.1', 11212, 25), 
     array('127.0.0.1', 11213, 25), 
     array('127.0.0.1', 11214, 25) 
    ); 

    // Sets up some options for the memcache server 
    self::$m->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT); 
    self::$m->setOption(Memcached::OPT_PREFIX_KEY, Kohana::config('globals.prefix')); 
    self::$m->addServers($servers); 

    return self::$m; 
    } 
+0

Qu'est-ce que Model_Mem? Comment la fonction Model_Mem-> get() est-elle implémentée? –

+0

Model_Mem :: getSingleton() renvoie un objet memcached http://php.net/manual/fr/book.memcached.php. J'ai édité la question avec plus d'informations. Merci d'avoir essayé d'aider. – Shawn

Répondre

0

Arg, le dernier de debian [obtenir] memcached version n'a pas encore cette fonctionnalité. Mis à jour au plus tard en installant la source du serveur memcached et tout va bien.