[docs]defcreate_cache_client(config:Dict[str,Any],engine:Literal["memcached","redis"]|None=None,prefix:Optional[str]=None,)->CacheMemcached|CacheRedis:ifenginenotin["memcached","redis"]orengineisNone:raiseKeyError(f"Incorrect cache engine provided. Expected 'memcached' or 'redis', got '{engine}'")if"cache"notinconfigorenginenotinconfig["cache"]:raiseKeyError(f"Cache configuration is invalid. Please check if all keys are set (engine: '{engine}')")matchengine:case"memcached":returnCacheMemcached.from_config(config["cache"][engine],prefix=prefix)case"redis":returnCacheRedis.from_config(config["cache"][engine],prefix=prefix)case_:raiseKeyError(f"Cache implementation for the engine '{engine}' is not present.")