php - Symfony2 Doctrine Metadata Cache with Redis Issue -


i'm trying use redis driver caching doctrine metadata, query , results. follwing configuration.

auto_generate_proxy_classes: "%kernel.debug%"     naming_strategy: doctrine.orm.naming_strategy.underscore     auto_mapping: true     result_cache_driver:         type: redis         host: %redis_host%         instance_class: redis     query_cache_driver: redis     #metadata_cache_driver: redis 

when remove comment line #metadata_cache_driver: redis, error running test have following error.

typeerror: argument 1 passed doctrine\orm\mapping\classmetadatafactory::wakeupreflection() must implement interface doctrine\common\persistence\mapping\classmetadata, string given, called in vendor/doctrine/common/lib/doctrine/common/persistence/mapping/abstractclassmetadatafactory.php on line 214

my functional test looks following:

public function testx() {     //the data in prepared in setup..     $param1 = 'test-id';     $param2 = 'test-key';     $result = $this->em->getrepository('mybundle:test')             ->findonebyxx($param1, $param2);     $this->asserttrue($result instanceof test); } 

and query looks following:

$qb->select('c')        ->from('mybundle:test', 'c')        ->where('c.id = :id')        ->andwhere('c.key = :key')        ->setparameter('id', $id)        ->setparameter('key', $key);      $query = $qb->getquery()             ->useresultcache(true);      return $query->getoneornullresult(); 

do need additional configuration redis? appreciated??

i believe resolve need set serializer redis, default serializer not aware of the php classes , when object removed cache, , unserialized, not same type prior serialization.

$redis->setoption(\redis::opt_serializer, \redis::serializer_php); 

for case need set configuration option part of driver configuration.


Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -