Solution for writing a function layer between pecl-memcache and PHP

From: Date: Fri, 27 Jul 2007 17:59:29 +0000
Subject: Solution for writing a function layer between pecl-memcache and PHP
Groups: php.general 
Request: Send a blank email to php-general+get-259684@lists.php.net to get a copy of this message
Hi dear Sancar, you seem really the best man in place as what I see in the mailing list :)) Thats really lovely I would like to say. Now lets come to the solution I need: public function memcache($pointer, $data="", $compress="", $timeout="0") // store or load data from the memcache { if (MEMCACHE_SUPPORT == 'true') { $memcached_port = $_SESSION['memcache_port']; if (empty($memcached_port)) { $memcached_port = '99999'; } $memcache = memcache_connect('localhost', $memcached_port); if ($memcache) { $memcache_pointer = PROJECT.$pointer; $cache = $memcache -> get($memcache_pointer); if (!$cache) { $memcache->set($memcache_pointer,$data); $cache = $memcache -> get($memcache_pointer); } return $cache; } } } This is the Funktion I use to load and write data to the memcache a write or restore looks like this here site::memcache('pointer',$data); This is working in many cases pretty fine. Now I have a codepart, where the 'pointer' is getting created dynamical- ly. Which means I do fx. a $content_id.'_'.$translation instead of wri- ting a simple 'pointer' as first parameter to the above function. When I now call my XML Parser, to store data in memcache, and try to recall, the data short after, it says: File not found: This file somewhere in the suburbs. But when I try to output the XML Object before the data is written to the cache, everything goes terribly fine. Now I figured out, that when I use static naming for the memcache data pointer 'pointer' everything goes fine. When I use the memcache directly, which means, I call the $memcache->set() and $memcache->get() function from where I store data everything goes fine again, even with dynamically created, variables. But as soon as I use my function layer, call a to site::memcache($pointername,$dataset); only returnes bullshit. Mh, this makes me a little bit sad. Maybe somebody or even you, can help me :)) Best Regards, and a baba Respect from Germany, Dear Sancar! Sascha

« previous php.general (#259684) next »