the hard aspect is to maintain consistency, so you can't just "plug in" a new strategy, that won't work.
we have something similar being built right now:
http://community.jboss.org/wiki/OverviewofHibernateOGMIt's storing data in a transactional grid (Infinispan), so you get all the performance of a cache (as Infinispan can be used as a ultra fast cache as well) and in addition you get reliable and easy to setup clustering, you can dynamically add or remove nodes while the system stays up and working efficiently. Infinispan can be configured with a "write behind" backup to an alternative storage (A filesystem, a databse, Amazon S3, Cassandra, ... many more).
It's currently only supporting Infinispan but more key/value stores should come, especially if people contribute.