Can memcached store complex objects? Can memcached store complex objects? codeigniter codeigniter

Can memcached store complex objects?


use http://php.net/manual/en/function.serialize.php

<?php// connect memcache$memcache_obj = new Memcache;$memcache_obj->connect('localhost', 11211);// simple example classclass MyClass {    private $var = 'default';    public function __construct($var = null) {        if ($var) {            $this->setVar($var);        }    }    public function getVar() {        return $this->var;    }    public function setVar($var) {        $this->var = $var;    }}$obj1 = new MyClass();$obj2 = new MyClass('test2');$obj3 = new MyClass();$obj3->setVar('test3');// dump the values using the method getVarvar_dump($obj1->getVar(), $obj2->getVar(), $obj3->getVar());// store objects serialized in memcache, set MEMCACHE_COMPRESSED as flag so it takes less space in memory$memcache_obj->set('key1', serialize($obj1), MEMCACHE_COMPRESSED);$memcache_obj->set('key2', serialize($obj2), MEMCACHE_COMPRESSED);$memcache_obj->set('key3', serialize($obj3), MEMCACHE_COMPRESSED);// unset the objects to prove it ;-)unset($obj1, $obj2, $obj3);// get the objects from memcache and unserialze// IMPORTANT: THE CLASS NEEEDS TO EXISTS! // So if you have MyClass in some other file and include it, it has to be included at this point// If you have an autoloader then it will work easily ofcourse :-)$obj1 = unserialize($memcache_obj->get('key1'));$obj2 = unserialize($memcache_obj->get('key2'));$obj3 = unserialize($memcache_obj->get('key3'));// dump the values using the method getVarvar_dump($obj1->getVar(), $obj2->getVar(), $obj3->getVar());?>