Generally speaking, I advise against caching within the JVM heap - it's really not optimised for this use case as cached objects typically live long enough to escape the eden generation, at which point they'll be putting extra pressure on garbage collection.
If you can, cache as close to the edge as possible, varnish is a very effective solution if you have a restful architecture.
If you can't, still try and push it out of the heap. Consider using memcached or perhaps a commercial solution like bigmemory.
On 30 May[masked]:45, James Bowkett <[address removed]>
I am looking to create a caching layer in my application. My application has model objects that require a few costly, star-like SQL queries to construct, this data is only ever added-to once per week. So I plan to create the whole object population once and use an object cache for fast key-based lookup and I'm looking for some opinions/recommendations/conjecture on appropriate technologies.
I really only want a HashMap that pages its values to disk (I'm not afraid to write it myself, but I'd rather use an open source API (the budget for this is my time only) if there's one available and it's nice and lightweight)
Has anyone used Ehcache?....what are your thoughts?....has anyone used any of the other open source alternatives?....Are there any alternatives that I should be looking at instead?
I'm finding it hard to find many APIs out there (most of the projects listed here: http://java-source.net/open-source/cache-solutions
are really old). has caching fallen out of favour in preference for some other way of doing things?...or is everyone using things like NoSQL to distribute their caches? (If so, is there a particular NoSQL toolset that would be most appropriate for me?...Should I be looking at something like Voldemort?)
P.S. As a footnote, this is the history of caching APIs as far as I can make it out:
As far as I can tell, there was a JSR for this (107) which looks like it's been dormant for a little over 10 years, the reference implementation for this was JCache, and this came out of some functionality in Oracle 9i, this looks like it was then superseded by Apache's JCS (Java Caching System), although all of these now look like fairly dormant projects (JCS last release was 2007).
It looks like Ehcache was originally a fork of JCS (http://commons.apache.org/jcs/JCSvsEHCache.html
), (indeed JCS claims to be faster) but is Ehcache now the only open source caching solution out there that's still under active development?
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by James Bowkett ([address removed]) from LJC - London Java Community.
To learn more about James Bowkett, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages
Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]
mail: [address removed]
gtalk / msn : [address removed]
vibe / skype: kev.lee.wright
"My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger" ~ Dijkstra