On Sep 29, 2009, at 12:08 PM, Manik Surtani wrote:
On 29 Sep 2009, at 09:57, Mircea Markus wrote:
> Hi,
>
> Again, this is a feature from Coherence[1].
>
> Basic idea is to execute a query against the cache, and hold the
> result object. This result object will always have up to date query
> result; this means that whenever something is modified in the cache
> the result itself is updated. Advantage: if one performs the same
> query very often(e.g. several times every millisecond) the response
> will be fast and the system will not be overloaded.
Is it really faster? Surely all you save is the construction of the
various query objects, but the query itself would have to be re-run
every time. Or does it attach a listener to the cache and check
whether any new additions/removals should be used to update the
result set?
this is the way it works. It is a sort of a near-cache, just that
instead of being invalidated it is updated whenever the cache is
updated. The documentation also suggests that they are using listeners.
I don't see how that could be much faster though.
I think
it might be if the you are running *the same query* tons of
times. Basically you don't do a map-reduce on all the nodes, but
rather on every insertion (especially if the number of insertion is
relative small compared to the number of same-query-bring-run) you
updated (if necessary) the cached query result.
Adding Hibernate-dev in cc so that the HIbernate Search guys can
comment too.
> E.g.
> Filter filter = new AndFilter(new EqualsFilter("getTrader",
> traderid),
> new EqualsFilter("getStatus",
> Status.OPEN));
> ContinuousQueryCache cacheOpenTrades = new
> ContinuousQueryCache(cache, filter);
>
> Iterator iter = cacheOpenTrades.entrySet().iterator(); //*this
> entrySet call will be instant!*
>
> FOr a full list of scenario in which this can be used take a look
> at [1].
> Shall we consider adding something similar?
>
> Cheers,
> Mircea
>
>
> [1]
http://download.oracle.com/docs/cd/E14526_01/coh.350/e14509/continuousque...
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev