On 31.08.2007, at 14:57, Christopher Armstrong wrote:

On 8/31/07, Bernd Dorn <[EMAIL PROTECTED]> wrote:
we use storm with zope (version .10) and discovered that the
store._cache attribute never caches, because the weakrefs are gone
immediatly

Your conclusion is incorrect. The cache does work as intended; perhaps it is not what you want, though. The cache is there to prevent loading objects from the database when they are already in memory, and to avoid creating duplicate objects when the same row is loaded twice (if a row is retrieved a second time within the same transaction, the original object is updated instead of creating a new one).

hm dunno if i understood you right ... the point is that i don't want to retrieve the row again

if i do a store.get(Klass, id) and i don't reference the object anymore in my code it is gone immediatly

then i do the same get one more time, storm does a select again

i don't understand the use-case for this kind of caching - if i have to maintain a reference to the object anyways, why do a need the cache?

for example:

we have a request in zope and i want to get a specific storm object i have to get it via storm.get(...)

in the same request/transaction i do a second get, from another component of my view and i also have to use storm.get(..) for it

so we end up having up to 30 ident selects to the database for a single page

i am wondering how this is handled in launchpad





-- 
storm mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/storm

Reply via email to