java - caching solution which supports indexes/query cache
I am looking for a caching solution for java which can support query cache/indexing.
I have looked at Ehcache. Although it has a very good query search support But that is always O(n) ie. it will always do a full cache search. ( this information applies to free version of EHcache).
I want a solution where I can define that these are the fields I will be querying on/indexes and for all those fields, it maintains that objects which belong to those queries and keep the indexes updated if there is any insert/update in cache. Basically I want the best performance for reads. The number of reads I am going to make far outnumber the updates in cache.