We've been using these asynchronous methods in our project that we are
using BigCache for,
www.sidestripe.com, and I just added them into
the core BigCache code base. Obviously you get huge performance and
liveliness gains if used properly in your application.
putAsync is used to put in the background. Returns immediately so your
code can continue executing.
getAsync is used to get objects in the background. Also returns
immediately with a Future that you can use to actually work with the
object later. Very useful for web apps where you have a model-view-
controller framework. The model can call getAsync's on all the objects
you'll need to render the view. Then the view can call future.get() to
get the object only when it's needed and hopefully by that time, it's
already been retrieved from the remote cache (S3).
More info here:
http://code.google.com/p/bigcache/wiki/AsyncMethods