docs: def set(self, prefix, url, obj):
          """ Add an object into the cache """
          if not self.cache_dir:
              return
  
          filename = self._get_cache_file(prefix, url)
  
          try:
              os.makedirs(os.path.join(self.cache_dir, prefix))
          except OSError:
              pass
  
          with open(filename, 'wb') as file:
              pickle.dump(obj, file)