docs: def get(self, alias: str):
          """
          Retrieve cache identified by alias. Will return always the same instance
  
          If the cache was not instantiated yet, it will do it lazily the first time
          this is called.
  
          :param alias: str cache alias
          :return: cache instance
          """
          try:
              return self._caches[alias]
          except KeyError:
              pass
  
          config = self.get_alias_config(alias)
          cache = _create_cache(**deepcopy(config))
          self._caches[alias] = cache
          return cache