code: def get(self, url, ignore_access_time=False):
          
          key = hashlib.md5(url).hexdigest()
          accessed = self._cache_meta_get(key)
  
          if not accessed:
              # not previously cached
              self.debug("From inet {}".format(url))
              return None, None
  
          if isinstance(accessed, dict):
              cached = CacheInfo.from_dict(accessed)
          else:
              cached = CacheInfo(accessed)
          now = now_utc()
          if now - cached.access_time > self.duration and not ignore_access_time:
              # cached expired -> remove
              self.debug("From inet (expired) {}".format(url))
              return None, cached
  
          try:
              res = self._cache_get(key)
          except:
              self.exception("Failed to read cache")
              self.debug("From inet (failure) {}".format(url))
              return None, None
          self.debug("From cache {}".format(url))
          return res, cached
docs: Try to retrieve url from cache if available
  
          :param url: Url to retrieve
          :type url: str | unicode
          :param ignore_access_time: Should ignore the access time
          :type ignore_access_time: bool
          :return: (data, CacheInfo)
              None, None -> not found in cache
              None, CacheInfo -> found, but is expired
              data, CacheInfo -> found in cache
          :rtype: (None | str | unicode, None | floscraper.models.CacheInfo)