class_docstr: Cache the distillation labels on disk.
  Under each label will be saved as a file named `{uid}.pkl` under `cache_folder`.
class_docstr_tok: ["Cache","the","distillation","labels","on","disk",".","Under","each","label","will","be","saved","as","a","file","named","`","{","uid","}",".pkl","`","under","`","cache_folder","`","."]
code: def record(self, uid: str, data: Any):
      if uid in self._uid2filename:
          warn_msg = f"Already record distil data for {uid}, update distil data for uid {uid}."
          _logger.warning(warn_msg)
      self._uid2filename[uid] = f"{uid}.pkl"
      pickle_dump(data, self._data_folder / self._uid2filename[uid])
  
imports: from __future__ import annotations
  import logging
  import os
  from os import PathLike
  from pathlib import Path
  import shutil
  import tempfile
  from typing import Any, Dict, List, Literal
  import json_tricks
  from .utils import pickle_dump, pickle_load
label_desc: Use image node_id 3 for calling the FileStorage obj's underlying member method code with example usage: obj.record(uid, data) without return types