[Zope] storing persisten object in python dictionaries

Marco Bizzarri marco.bizzarri at gmail.com
Thu Oct 26 09:00:28 EDT 2006


On 10/26/06, Jürgen Herrmann <Juergen.Herrmann at xlhost.de> wrote:
>
> On Thu, October 26, 2006 14:53, Marco Bizzarri wrote:
> > Storing persistent object in object outside of ZODB can incur in the
> > problem of passing object(s) between threads, and, therefore, passing
> > one object which is related to a connection on the ZODB to another
> > context with a different connection.

> ok, this is probably the problem here, so would haveing a cache dict
> for each thread help? there are only about 50-100 containers so the
> memory overhead would be neglible compared to the performance gained.

Yes, this should probably resolve your issue.

> >
> > Also, AFAIK, keep in mind _v_ attributes are not involved in
> > transaction machinery of Zope. This means that if you have an error
> > inside you transaction after you modified the _v_ cache, you will have
> > the cache modified even tough the transaction has been aborted.
> not a real problem as class instance containers are very static.

I understand, we hit this problem while caching object obtained from
database rows... and in case of failure cache became unreliable.

I'm keeping the answer on the ML, if you don't mid.

-- 
Marco Bizzarri
http://iliveinpisa.blogspot.com/


More information about the Zope mailing list