def set_config(self, config):
if "<STR_LIT:default>" not in config:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>for config_name in config.keys():<EOL><INDENT>self._caches.pop(config_name, None)<EOL><DEDENT>self._config = config<EOL>
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.