code: def MICECache(subsystem, parent_cache=None):
      
      if config.REDIS_CACHE:
          cls = RedisMICECache
      else:
          cls = DictMICECache
      return cls(subsystem, parent_cache=parent_cache)
docs: Construct a |MICE| cache.
  
      Uses either a Redis-backed cache or a local dict cache on the object.
  
      Args:
          subsystem (Subsystem): The subsystem that this is a cache for.
  
      Kwargs:
          parent_cache (MICECache): The cache generated by the uncut
              version of ``subsystem``. Any cached |MICE| which are
              unaffected by the cut are reused in this cache. If None,
              the cache is initialized empty.