As the client allows for user defined persistence implementations I've written an extension that uses redis as the persistence store. The reliability of using this for persistence will depend on the configuration of the redis installation. I've put the code in bug 410419 against Samples as it seemed the most appropriate place.
I've used the hiredis library for redis calls and internally it uses hashes keyed off the connection and clientid.
Currently it's just a C implementation, I was going to have a look at doing a Java one too.