added a function to set a default cache
redis cache backend
raise an exception when the api call fails (http errorcode)
don't cache if there is no expire time