Redis Cache

Check the cache, if miss, run analysis

Save analysis

See #4

Put cache in a module