code: def __init__(self, data_fetch_func, key_func):
      self._data = defaultdict(SafeNone)
      self._cached = False
      self.data_fetch_func = data_fetch_func
      self.key_func = key_func
  
imports: import os
  from collections import defaultdict
  from weakref import WeakValueDictionary
  from sqlalchemy import create_engine
  from sqlalchemy.orm import sessionmaker, scoped_session
  from aim.storage.migrations.utils import upgrade_database
  from aim.storage.structured.sql_engine.factory import ModelMappedFactory
  from aim.storage.types import SafeNone
  from aim.web.configs import AIM_LOG_LEVEL_KEY
label_desc: Use image node_id 1 to create a new ObjectCache object  with example: obj = ObjectCache(data_fetch_func, key_func)