docs: def set_config(self, config):
          """
          Set (override) the default config for cache aliases from a dict-like structure.
          The structure is the following::
  
              {
                  'default': {
                      'cache': "aiocache.SimpleMemoryCache",
                      'serializer': {
                          'class': "aiocache.serializers.StringSerializer"
                      }
                  },
                  'redis_alt': {
                      'cache': "aiocache.RedisCache",
                      'endpoint': "127.0.0.10",
                      'port': 6378,
                      'serializer': {
                          'class': "aiocache.serializers.PickleSerializer"
                      },
                      'plugins': [
                          {'class': "aiocache.plugins.HitMissRatioPlugin"},
                          {'class': "aiocache.plugins.TimingPlugin"}
                      ]
                  }
              }
  
          'default' key must always exist when passing a new config. Default configuration
          is::
  
              {
                  'default': {
                      'cache': "aiocache.SimpleMemoryCache",
                      'serializer': {
                          'class': "aiocache.serializers.StringSerializer"
                      }
                  }
              }
  
          You can set your own classes there.
          The class params accept both str and class types.
  
          All keys in the config are optional, if they are not passed the defaults
          for the specified class will be used.
  
          If a config key already exists, it will be updated with the new values.
          """
          if "default" not in config:
              raise ValueError("default config must be provided")
          for config_name in config.keys():
              self._caches.pop(config_name, None)
          self._config = config