first pass at redis adapter
added a bunch of tests