Hi!

For performance issues we have the need to cache some query result (i.e a list of cayenne data objects); As far as I have understood it's completely up to the developer to determine if a previously cached result is still logically valid or not (maybe this will change in Cayenne 3.0?). The developer has to implement too, from scratch, a queries invalidation mechanism.

In http://cwiki.apache.org/CAYDOC/caching-query-results.html is stated that:

<<It is important to understand that caching of *result lists* is done independently from caching of *individual DataObjects and DataRows*. Therefore the API is different as well. Also cached results lists _are not synchronized across VMs (even the shared cache)._>>_

_So it seems that if my application is deployed in a cluster I have to implement a custom _distributed_ invalidation mechanism.
_
_So my questions are:

1) Are my conclusions correct or not?
2) In case I'm right do u have any "pattern"/best practice/suggestion to implement the afore mentioned mechanism in a fast , efficient way?

Thank you ,


Francesco.
_

_




Reply via email to