Question

J’ai enfin réussi à utiliser Memcache sur mon ordinateur personnel pour pouvoir enfin commencer à développer avec!

Je ne pars pas du bon pied même si j'essaie d'utiliser le code sur

php.net @ memcache-set Je ne parviens pas à obtenir l'un des exemples de code qu'ils publient

J'ai essayé ceci:

<?php
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
echo memcache_get($memcache_obj, 'var_key');
?>


Et ensuite

<?php
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>


Et ces erreurs proviennent du code ci-dessus;

Warning: Memcache::connect() [memcache.connect]: Can't connect to memcache_host:11211, A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (10060) in C:\webserver\htdocs\test\memcache\index.php on line 36

Warning: Memcache::set() [memcache.set]: Failed to extract 'connection' variable from object in C:\webserver\htdocs\test\memcache\index.php on line 42

Warning: Memcache::get() [memcache.get]: Failed to extract 'connection' variable from object in C:\webserver\htdocs\test\memcache\index.php on line 44


J'ai ensuite trouvé ce code sur le net quelque part et cela fonctionne

<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
// add cache
$memcache->set('key', $tmp_object, false, 30) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 30 seconds)<br/>\n";
// get cache
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
?>


Comment puis-je utiliser les exemples de PHP.net?

J'aimerais également voir un exemple de code impliquant Memcache que vous voudrez peut-être partager. J'aimerais vraiment voir des exemples de travail

Était-ce utile?

La solution

Vous vous rendez compte que vous devez remplacer "memcache_host". avec votre nom d'hôte et / ou localhost? Ou est-ce que je manque complètement le point? Essayez également telnet localhost 11211 , puis telnet votre nom d’hôte-memcache-11211 et voyez si vous obtenez le même résultat (vous devriez).

Autres conseils

Si vous souhaitez utiliser Memcached avec PHP pour une requête sur une base de données, voici un exemple de ce que j'ai utilisé:

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
$qry = QUERY;
$C = connection to ur database;
findValue($qry, $c);

    function findValue($qry,$c)
    {
        $id = md5($qry);

         if ($gotten = $memcache->get($id)) {
               echo $id." retrieved from memcached </br> ";
               return $gotten;
         } else {
             ### Daemon running but it was NOT cached
             echo  " from database (was NOT cached)";
             # Never mind - fetch it and store for next time!
             $gotten = dbfetch($qry,$c);
             $memcache->set($id,$gotten);
             return $gotten;
        }
    }

J'utilise ménarche avec php pour réduire ma base de données en faisant quelque chose comme ceci

    $memcache = new Memcache;

    //Ip address and and port number.
    $memcache->connect('192.168.xxx.xxx', 'xxxx');

    //Fetching data from memcache server
    $arrobj = $memcache->get("arrobj");

    if( false == is_array( $arrobj ) ) {

       $arrobj = data retrieve from Database.

       //Storing data in memcache server for 100 sec.
       $memcache->set( "arrobj", $arrobj, MEMCACHE_COMPRESSED, 100 );
    }

Vous pouvez également obtenir des exemples à l'adresse http://php.net/manual/fr. /memcache.set.php !! !!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top