[Zope] storing persisten object in python dictionaries
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.
More information about the Zope