From 50d5a71ca6827ee37cc899ebd670dfb1aaad28dd Mon Sep 17 00:00:00 2001 From: gRoussac Date: Tue, 20 Aug 2013 23:09:12 +0200 Subject: [PATCH] [-] Classes : fix memcache ext #PSCFV-5225 thanks @up2date --- classes/cache/CacheMemcache.php | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/classes/cache/CacheMemcache.php b/classes/cache/CacheMemcache.php index 0018683a2..046d40529 100755 --- a/classes/cache/CacheMemcache.php +++ b/classes/cache/CacheMemcache.php @@ -44,11 +44,19 @@ class CacheMemcacheCore extends Cache { $this->connect(); - // Get keys (this code comes from Doctrine 2 project) $this->keys = array(); $servers = self::getMemcachedServers(); - if(is_array($servers) && count($servers) > 0 && method_exists('Memcache', 'getStats')) + if(is_array($servers) && count($servers) > 0) + { + $this->keys = $this->memcache->get(_COOKIE_IV_); + if (!is_array($this->keys)) + $this->keys = array(); + } + + /* + // Get keys (this code comes from Doctrine 2 project) + if(is_array($servers) && count($servers) > 0 && method_exists('Memcache', 'getStats')) $all_slabs = $this->memcache->getStats('slabs'); if(isset($all_slabs) && is_array($all_slabs)) @@ -56,11 +64,11 @@ class CacheMemcacheCore extends Cache { if (is_array($slabs)) { - foreach (array_keys($slabs) as $slab_id) + foreach (array_keys($slabs) as $i => $slab_id) // $slab_id is not an int but a string, using the key instead ? { - if(is_int($slab_id)) - { - $dump = $this->memcache->getStats('cachedump', (int)$slab_id); + if(is_int($i)) + { + $dump = $this->memcache->getStats('cachedump', (int)$i); if ($dump) { foreach ($dump as $entries) @@ -73,7 +81,7 @@ class CacheMemcacheCore extends Cache } } } - } + }*/ } public function __destruct() @@ -145,6 +153,7 @@ class CacheMemcacheCore extends Cache */ protected function _writeKeys() { + $this->memcache->set(_COOKIE_IV_, $this->keys); } /**