Hi Hoessi, Did you consider using the second level cache for this? It's still available only in master, but you should check it out: http://docs.doctrine-project.org/en/latest/reference/second-level-cache.html
Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ On 21 February 2014 16:43, hoessi <[email protected]> wrote: > hi... > > i have implemented a onTop caching system for doctrine. if i get a entity > from my cache system, i have to say doctrine that this entity have to > managed. so i "merge" this on my entityManager. > > public function getById($id, $cacheLifetime = null) { > if ($this->useCache) { > $cacheId = $this->generateCacheId($id); > $object = $this->getResultCache()->fetch($cacheId); > if ($object instanceof DBEntityInterface) { > return $this->getEntityManager()->merge($object); > } > } > $object = parent::getById($id); //get from DB > if ($this->useCache && $object instanceof DBEntityInterface) { > $this->saveToCache($object, is_int($cacheLifetime) ? > $cacheLifetime : $this->getCacheLifetime()); > return $object; > } > return null; > } > > but this call: > > return $this->getEntityManager()->merge($object); > > after get the object from the cache, will end in a "select" this entity > from the database. this behavior is contra productiv for a caching system. > how can i say doctrine, that this object from the cache is a valid entitiy > without refetch? > > any tips ? > > -- > You received this message because you are subscribed to the Google Groups > "doctrine-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/doctrine-user. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "doctrine-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/groups/opt_out.
