<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _create_metadata_cache(cache_location):
 """Creates a new metadata cache instance appropriate for this platform. """

    cache_url = os.getenv('GUTENBERG_FUSEKI_URL')
    if cache_url:
        return FusekiMetadataCache(cache_location, cache_url)

    try:
        return SleepycatMetadataCache(cache_location)
    except InvalidCacheException:
        logging.warning('Unable to create cache based on BSD-DB. '
                        'Falling back to SQLite backend. '
                        'Performance may be degraded significantly.')

    return SqliteMetadataCache(cache_location)