Am 27.11.2013 um 13:20 schrieb Sabine Knöfel <sabine.knoe...@gmail.com>:

> Hi Esteban, all,
> 
> I work with mongo daily an it works fine, I am very happy with it.
> 
> As you told me, with
>>> VORepository current reset.
> I can force re loading all objects from database and resetting the cache
> completely.
> This is helpful for development eg. after changing the magritte
> descriptions.
> 
Indeed. You need to flush/reset the repository in order to have new 
descriptions to take effect.

> My question:
> Is there a possibility to make a query and tell voyage that THIS query
> should be done within the database and NOT within the cached objets? And
> that all objects and the child objects from this query are loaded freshly
> from database into the cache.
> 
All queries go to the database. The cache is just used at resolve time. And it 
is necessary to have identical objects. Meaning you query the database directly 
and then objects are materialized. If the object is already in the cache the 
cached one is returned. Otherwise you would lose identity because having two 
requests containing the same object as a result would lead to two objects 
instead of one. You could only load trees instead of a graph. 

> My concrete situation:
> I want that if the user logs in, his objects are loaded from database and
> NOT from cache. This means the person, his trips etc.
> 
> And the question coming along with this:
> How long does the cache keeps objects/when are they reseted (except the
>>> VORepository current reset)? 
> If I would never take a new image and never make a reset, would all objects
> remain in the image (and the database objects wold never be read)? In this
> case what about the size of the image?
> 
I’m not sure on this one. I think the cache does not clean anything. The thing 
about being able to load a graph I wrote above has also the constraint that all 
loaded objects that are still participating in the active graph need to be in 
the cache. But then the cache is a weak dictionary meaning that all objects 
leaving the active graph are removed from the cache (well at GC time, I think)

Norbert
 
> Regards
> Sabine
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/Mongo-cache-vs-database-objects-tp4725554.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> 


Reply via email to