Introduce caching and support currency-only requests

Caching is done using Redis and the redis_client library.