> One strategy that I like, but haven't found in discussion lists is > auto-limiting cache size/warming based on available resources (similar > to the way file system caches use free memory). This would allow > caches to adjust to their memory environment as indexes grow.
I've written such a cache for use as a Voldemort store in the past. I'm going to rewrite it in the near future to improve the code however the general idea can be seen at http://code.google.com/p/project-voldemort/issues/detail?id=225 The trickiest part of doing an auto-limiting cache based on available memory is making sure that it works nicely with the garbage collector. Getting that balance right so that the gc doesn't churn needlessly took me more time than writing the cache. Bruce