Le mercredi 05 octobre 2011 19:45:38, Jim Fulton a écrit :
> Interesting. I'll review it.
I gave it a look.
>From what I see, I don't think this can be used by more than a single zope at
a time. My bigest hint toward this is that there is a lock on class instance
which is not visible in memcache (ie, nothing is modified in memcache when
taking/releasing that lock). So accesses from different processes (or even
different instances of the cache connector) will modify it without
synchronisation. Supporting such setup requires using the test-and-set
memcached operation, plus some sugar. I just don't think this was intended to
be supported in the original code.
I'm afraid of the keyify function: if an oid happend to contain a 0x20 byte,
and another object exists with the same oid minus 0x20 bytes, they will
collide in that cache. That's easy to fix.
Jim: Beware, it's GPL'ed ;) .
For more information about ZODB, see http://zodb.org/
ZODB-Dev mailing list - ZODB-Dev@zope.org