First pass at a Redis backend.
Changes in response to code review
Merge pull request #1 from seomoz/master

latest from upstream