def get(self, key, timeout=None):
raise NotImplementedError<EOL>
Get cached entry if exists and not expired
            key: which entry to get
            timeout: override timeout with this value [optional]