redis datastore implementation