On Thu, Aug 25, 2011 at 12:00 PM, Caleb James DeLisle <[email protected]> wrote: > In order to fix a problem with the cache, I would like to add a pointer type > to the storage api. > The problem with the cache is there are multiple names which, when asked of > the persistent store, > return the same document. There is no effective way to know what all names > which will return that > document. When a document is modified, it is removed from the cache but the > only version removed is it's > "real" name. All of the other names for it linger in the cache eating up > memory and threatening to > provide someone stale data. > Instead of caching the document, we could cache a pointer to the document and > when it became stale, > the pointer could be set to null and then any other name under which that > document was cached would look > up a null pointer and the cache logic could remove it. > > I would like to add it to xwiki-platform-store-api module and it will look > roughly like this: > > package org.xwiki.store; > > public final class Pointer<T> > { > /** The thing which this pointer points to. */ > public T target; > } > > > WDYT?
Why is there several cache keys for the same document ? Can't we make sure a same document always use the same key ? > > Caleb > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

